~ruther/qmk_firmware

f0388a5b1334ce0b8c8a359a0a8a1460e456b8c5 — IBNobody 9 years ago 91e0f62 + e571d46
Merge pull request #6 from IBNobody/fix_magic_key_binding_NKRO

Set keyboard_nkro (used by TMK) w/ MAGIC_HOST_NKRO
1 files changed, 13 insertions(+), 0 deletions(-)

M quantum/quantum.c
M quantum/quantum.c => quantum/quantum.c +13 -0
@@ 27,6 27,10 @@ static void do_code16 (uint16_t code, void (*f) (uint8_t)) {
    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);


@@ 223,6 227,11 @@ bool process_record_quantum(keyrecord_t *record) {
            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;


@@ 244,6 253,10 @@ bool process_record_quantum(keyrecord_t *record) {
            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;