From bceb05148c3fd64d34606ba9a625546c3b6f67dc Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Wed, 25 Jan 2017 10:49:51 +0100 Subject: [PATCH] Adjust to the flags/keyCode swap Signed-off-by: Gergely Nagy --- src/Akela/OneShot.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Akela/OneShot.cpp b/src/Akela/OneShot.cpp index dc6adf5c..32b0b2ab 100644 --- a/src/Akela/OneShot.cpp +++ b/src/Akela/OneShot.cpp @@ -35,8 +35,8 @@ namespace Akela { // --- helper macros ------ #define isOS(key) (key.raw >= OS_FIRST && key.raw <= OS_LAST) -#define isModifier(key) (key.keyCode >= Key_LCtrl.raw && key.keyCode <= Key_RGUI.raw && key.flags == 0) -#define isLayerKey(key) (key.flags & (KEY_FLAGS | SYNTHETIC | SWITCH_TO_KEYMAP) && key.keyCode >= MOMENTARY_OFFSET && key.keyCode <= MOMENTARY_OFFSET + 23) +#define isModifier(key) (key.raw >= Key_LCtrl.raw && key.raw <= Key_RGUI.raw) +#define isLayerKey(key) (key.flags == (KEY_FLAGS | SYNTHETIC | SWITCH_TO_KEYMAP) && key.keyCode >= MOMENTARY_OFFSET && key.keyCode <= MOMENTARY_OFFSET + 23) #define isOneShot(idx) (bitRead (State, idx)) #define setOneShot(idx) (bitWrite (State, idx, 1)) @@ -87,6 +87,14 @@ namespace Akela { if (keyState & INJECTED) return mappedKey; + if (key_toggled_on (keyState)) { + Serial.print ("isModifier="); + Serial.print (isModifier (mappedKey)); + + Serial.print ("; isLayerKey="); + Serial.println (isLayerKey (mappedKey)); + } + if (!isModifier (mappedKey) && !isLayerKey (mappedKey)) return mappedKey;