diff options
| -rw-r--r-- | quantum/quantum.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index e3a20f43e..fa86b6220 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c | |||
| @@ -27,6 +27,10 @@ static void do_code16 (uint16_t code, void (*f) (uint8_t)) { | |||
| 27 | f(KC_RGUI); | 27 | f(KC_RGUI); |
| 28 | } | 28 | } |
| 29 | 29 | ||
| 30 | #ifdef NKRO_ENABLE | ||
| 31 | extern bool keyboard_nkro; | ||
| 32 | #endif | ||
| 33 | |||
| 30 | void register_code16 (uint16_t code) { | 34 | void register_code16 (uint16_t code) { |
| 31 | do_code16 (code, register_code); | 35 | do_code16 (code, register_code); |
| 32 | register_code (code); | 36 | register_code (code); |
| @@ -223,6 +227,11 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 223 | keymap_config.swap_backslash_backspace = 1; | 227 | keymap_config.swap_backslash_backspace = 1; |
| 224 | } else if (keycode == MAGIC_HOST_NKRO) { | 228 | } else if (keycode == MAGIC_HOST_NKRO) { |
| 225 | keymap_config.nkro = 1; | 229 | keymap_config.nkro = 1; |
| 230 | |||
| 231 | #ifdef NKRO_ENABLE | ||
| 232 | clear_keyboard(); // clear to prevent stuck keys | ||
| 233 | keyboard_nkro = keymap_config.nkro; | ||
| 234 | #endif | ||
| 226 | } else if (keycode == MAGIC_SWAP_ALT_GUI) { | 235 | } else if (keycode == MAGIC_SWAP_ALT_GUI) { |
| 227 | keymap_config.swap_lalt_lgui = 1; | 236 | keymap_config.swap_lalt_lgui = 1; |
| 228 | keymap_config.swap_ralt_rgui = 1; | 237 | keymap_config.swap_ralt_rgui = 1; |
| @@ -244,6 +253,10 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 244 | keymap_config.swap_backslash_backspace = 0; | 253 | keymap_config.swap_backslash_backspace = 0; |
| 245 | } else if (keycode == MAGIC_UNHOST_NKRO) { | 254 | } else if (keycode == MAGIC_UNHOST_NKRO) { |
| 246 | keymap_config.nkro = 0; | 255 | keymap_config.nkro = 0; |
| 256 | #ifdef NKRO_ENABLE | ||
| 257 | clear_keyboard(); // clear to prevent stuck keys | ||
| 258 | keyboard_nkro = keymap_config.nkro; | ||
| 259 | #endif | ||
| 247 | } else if (keycode == MAGIC_UNSWAP_ALT_GUI) { | 260 | } else if (keycode == MAGIC_UNSWAP_ALT_GUI) { |
| 248 | keymap_config.swap_lalt_lgui = 0; | 261 | keymap_config.swap_lalt_lgui = 0; |
| 249 | keymap_config.swap_ralt_rgui = 0; | 262 | keymap_config.swap_ralt_rgui = 0; |
