From 5cf1da0cfebbf2760bb7cfbbda06854d5ea99241 Mon Sep 17 00:00:00 2001 From: Robert Csordas Date: Mon, 14 Nov 2016 22:09:33 +0100 Subject: [PATCH] Fixes the bug of additional characters when mod key is released before the other key --- right/src/keyboard_layout.c | 3 +++ right/src/keyboard_layout.h | 22 ++++++++++++++++++++++ right/src/usb_interface_keyboard.c | 1 + 3 files changed, 26 insertions(+) create mode 100644 right/src/keyboard_layout.c diff --git a/right/src/keyboard_layout.c b/right/src/keyboard_layout.c new file mode 100644 index 0000000..915ccca --- /dev/null +++ b/right/src/keyboard_layout.c @@ -0,0 +1,3 @@ +#include "keyboard_layout.h" + +uint8_t keyMasks[LAYOUT_KEY_COUNT]; diff --git a/right/src/keyboard_layout.h b/right/src/keyboard_layout.h index 881ac0e..9b2e9ae 100644 --- a/right/src/keyboard_layout.h +++ b/right/src/keyboard_layout.h @@ -35,11 +35,20 @@ #define MODIFIER_MOD_PRESSED 1 #define MODIFIER_FN_PRESSED 2 +extern uint8_t keyMasks[LAYOUT_KEY_COUNT]; + static inline __attribute__((always_inline)) uint8_t getKeycode(KEYBOARD_LAYOUT(layout), uint8_t keyId, uint8_t modifierState) { if (keyId