aboutsummaryrefslogtreecommitdiff
path: root/backends/keymapper/hardware-key.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/keymapper/hardware-key.h')
-rw-r--r--backends/keymapper/hardware-key.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/backends/keymapper/hardware-key.h b/backends/keymapper/hardware-key.h
index 32df042525..014e73a11e 100644
--- a/backends/keymapper/hardware-key.h
+++ b/backends/keymapper/hardware-key.h
@@ -97,8 +97,12 @@ public:
List<const HardwareKey*>::const_iterator it;
for (it = _keys.begin(); it != _keys.end(); it++) {
- if ((*it)->key == keystate)
- return (*it);
+ if ((*it)->key.keycode == keystate.keycode) {
+ // Only check for control/alt/shift modifiers, not for sticky
+ // modifiers like num lock/caps lock/scroll lock
+ if ((*it)->key.flags == (keystate.flags & 7))
+ return (*it);
+ }
}
return 0;
}