diff options
author | Filippos Karapetis | 2011-12-30 00:08:31 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-30 00:09:10 +0200 |
commit | 410c9e0b30ae3f140bd55cfcfa05308d929da24e (patch) | |
tree | b53a1dd1e48e653c6c3f7b62d7faec4b07eb6e34 /backends/keymapper/hardware-key.h | |
parent | 5c9da2811964245c7bd26840a4710ff78ddaf334 (diff) | |
download | scummvm-rg350-410c9e0b30ae3f140bd55cfcfa05308d929da24e.tar.gz scummvm-rg350-410c9e0b30ae3f140bd55cfcfa05308d929da24e.tar.bz2 scummvm-rg350-410c9e0b30ae3f140bd55cfcfa05308d929da24e.zip |
KEYMAPPER: Fix broken implementation of findHardwareKey()
This fixes the keymapper dialog (at least on desktop platforms), but the
keymapper itself is still not working (tested with LoL)
Diffstat (limited to 'backends/keymapper/hardware-key.h')
-rw-r--r-- | backends/keymapper/hardware-key.h | 8 |
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; } |