summaryrefslogtreecommitdiff
path: root/libopie2/opiecore/oinputsystem.cpp
authormickeyl <mickeyl>2005-02-04 15:00:52 (UTC)
committer mickeyl <mickeyl>2005-02-04 15:00:52 (UTC)
commit41886a2bfe003d715ad8fe48011d054c2ba0a779 (patch) (side-by-side diff)
tree709abfef22d2052574d3517deae3949d1dce37fd /libopie2/opiecore/oinputsystem.cpp
parent93f9fcf5bbcecaf8c7c4070e42676d24caa12d87 (diff)
downloadopie-41886a2bfe003d715ad8fe48011d054c2ba0a779.zip
opie-41886a2bfe003d715ad8fe48011d054c2ba0a779.tar.gz
opie-41886a2bfe003d715ad8fe48011d054c2ba0a779.tar.bz2
show which bits are set in global keymask
Diffstat (limited to 'libopie2/opiecore/oinputsystem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oinputsystem.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/libopie2/opiecore/oinputsystem.cpp b/libopie2/opiecore/oinputsystem.cpp
index 29de35c..d1a28f5 100644
--- a/libopie2/opiecore/oinputsystem.cpp
+++ b/libopie2/opiecore/oinputsystem.cpp
@@ -150,7 +150,10 @@ bool OInputDevice::hasFeature( Feature bit ) const
BIT_MASK( features, EV_MAX );
if( ioctl( _fd, EVIOCGBIT( 0, EV_MAX ), features) < 0 )
+ {
+ perror( "EVIOCGBIT" );
return false;
+ }
else
return BIT_TEST( features, bit );
}
@@ -170,3 +173,25 @@ bool OInputDevice::isHeld( Key bit ) const
return BIT_TEST( keys, bit );
}
}
+
+
+QString OInputDevice::globalKeyMask() const
+{
+ BIT_MASK( keys, KEY_MAX );
+
+ if( ioctl( _fd, EVIOCGKEY( sizeof(keys) ), keys ) < 0 )
+ {
+ perror( "EVIOCGKEY" );
+ }
+ else
+ {
+ QString keymask;
+ for ( int i = 0; i < KEY_MAX; ++i )
+ {
+ if ( BIT_TEST( keys, i ) ) keymask.append( QString().sprintf( "%0d, ", i ) );
+ }
+ return keymask;
+
+ }
+}
+