diff options
Diffstat (limited to 'libs/ui/KeyCharacterMap.cpp')
-rw-r--r-- | libs/ui/KeyCharacterMap.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/ui/KeyCharacterMap.cpp b/libs/ui/KeyCharacterMap.cpp index 9bfa8f6de440..2decfe93215a 100644 --- a/libs/ui/KeyCharacterMap.cpp +++ b/libs/ui/KeyCharacterMap.cpp @@ -185,9 +185,11 @@ bool KeyCharacterMap::getFallbackAction(int32_t keyCode, int32_t metaState, const Key* key; const Behavior* behavior; if (getKeyBehavior(keyCode, metaState, &key, &behavior)) { - outFallbackAction->keyCode = behavior->fallbackKeyCode; - outFallbackAction->metaState = metaState & ~behavior->metaState; - result = true; + if (behavior->fallbackKeyCode) { + outFallbackAction->keyCode = behavior->fallbackKeyCode; + outFallbackAction->metaState = metaState & ~behavior->metaState; + result = true; + } } #if DEBUG_MAPPING LOGD("getFallbackKeyCode: keyCode=%d, metaState=0x%08x ~ Result %s, " |