aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--quantum/quantum.c13
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
30void register_code16 (uint16_t code) { 34void 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;