f(KC_RGUI);
}
+#ifdef NKRO_ENABLE
+ extern bool keyboard_nkro;
+#endif
+
void register_code16 (uint16_t code) {
do_code16 (code, register_code);
register_code (code);
keymap_config.swap_backslash_backspace = 1;
} else if (keycode == MAGIC_HOST_NKRO) {
keymap_config.nkro = 1;
+
+#ifdef NKRO_ENABLE
+ clear_keyboard(); // clear to prevent stuck keys
+ keyboard_nkro = keymap_config.nkro;
+#endif
} else if (keycode == MAGIC_SWAP_ALT_GUI) {
keymap_config.swap_lalt_lgui = 1;
keymap_config.swap_ralt_rgui = 1;
keymap_config.swap_backslash_backspace = 0;
} else if (keycode == MAGIC_UNHOST_NKRO) {
keymap_config.nkro = 0;
+#ifdef NKRO_ENABLE
+ clear_keyboard(); // clear to prevent stuck keys
+ keyboard_nkro = keymap_config.nkro;
+#endif
} else if (keycode == MAGIC_UNSWAP_ALT_GUI) {
keymap_config.swap_lalt_lgui = 0;
keymap_config.swap_ralt_rgui = 0;