Use keyboard config for nkro (#7)
* removing nkro references - wip * changed NKRO to be defined by keymap_config
This commit is contained in:
		
							parent
							
								
									f0388a5b13
								
							
						
					
					
						commit
						558f3ec1eb
					
				
					 17 changed files with 131 additions and 101 deletions
				
			
		| 
						 | 
				
			
			@ -27,10 +27,6 @@ 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);
 | 
			
		||||
| 
						 | 
				
			
			@ -203,7 +199,7 @@ bool process_record_quantum(keyrecord_t *record) {
 | 
			
		|||
	  return false;
 | 
			
		||||
      break;
 | 
			
		||||
	#endif
 | 
			
		||||
    case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_UNSWAP_ALT_GUI:
 | 
			
		||||
    case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_NKRO:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        // MAGIC actions (BOOTMAGIC without the boot)
 | 
			
		||||
        if (!eeconfig_is_enabled()) {
 | 
			
		||||
| 
						 | 
				
			
			@ -211,57 +207,73 @@ bool process_record_quantum(keyrecord_t *record) {
 | 
			
		|||
        }
 | 
			
		||||
        /* keymap config */
 | 
			
		||||
        keymap_config.raw = eeconfig_read_keymap();
 | 
			
		||||
        if (keycode == MAGIC_SWAP_CONTROL_CAPSLOCK) {
 | 
			
		||||
            keymap_config.swap_control_capslock = 1;
 | 
			
		||||
        } else if (keycode == MAGIC_CAPSLOCK_TO_CONTROL) {
 | 
			
		||||
            keymap_config.capslock_to_control = 1;
 | 
			
		||||
        } else if (keycode == MAGIC_SWAP_LALT_LGUI) {
 | 
			
		||||
            keymap_config.swap_lalt_lgui = 1;
 | 
			
		||||
        } else if (keycode == MAGIC_SWAP_RALT_RGUI) {
 | 
			
		||||
            keymap_config.swap_ralt_rgui = 1;
 | 
			
		||||
        } else if (keycode == MAGIC_NO_GUI) {
 | 
			
		||||
            keymap_config.no_gui = 1;
 | 
			
		||||
        } else if (keycode == MAGIC_SWAP_GRAVE_ESC) {
 | 
			
		||||
            keymap_config.swap_grave_esc = 1;
 | 
			
		||||
        } else if (keycode == MAGIC_SWAP_BACKSLASH_BACKSPACE) {
 | 
			
		||||
            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;
 | 
			
		||||
        }
 | 
			
		||||
        /* UNs */
 | 
			
		||||
        else if (keycode == MAGIC_UNSWAP_CONTROL_CAPSLOCK) {
 | 
			
		||||
            keymap_config.swap_control_capslock = 0;
 | 
			
		||||
        } else if (keycode == MAGIC_UNCAPSLOCK_TO_CONTROL) {
 | 
			
		||||
            keymap_config.capslock_to_control = 0;
 | 
			
		||||
        } else if (keycode == MAGIC_UNSWAP_LALT_LGUI) {
 | 
			
		||||
            keymap_config.swap_lalt_lgui = 0;
 | 
			
		||||
        } else if (keycode == MAGIC_UNSWAP_RALT_RGUI) {
 | 
			
		||||
            keymap_config.swap_ralt_rgui = 0;
 | 
			
		||||
        } else if (keycode == MAGIC_UNNO_GUI) {
 | 
			
		||||
            keymap_config.no_gui = 0;
 | 
			
		||||
        } else if (keycode == MAGIC_UNSWAP_GRAVE_ESC) {
 | 
			
		||||
            keymap_config.swap_grave_esc = 0;
 | 
			
		||||
        } else if (keycode == MAGIC_UNSWAP_BACKSLASH_BACKSPACE) {
 | 
			
		||||
            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;
 | 
			
		||||
        switch (keycode)
 | 
			
		||||
        {
 | 
			
		||||
          case MAGIC_SWAP_CONTROL_CAPSLOCK:
 | 
			
		||||
            keymap_config.swap_control_capslock = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_CAPSLOCK_TO_CONTROL:
 | 
			
		||||
            keymap_config.capslock_to_control = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_SWAP_LALT_LGUI:
 | 
			
		||||
            keymap_config.swap_lalt_lgui = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_SWAP_RALT_RGUI:
 | 
			
		||||
            keymap_config.swap_ralt_rgui = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_NO_GUI:
 | 
			
		||||
            keymap_config.no_gui = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_SWAP_GRAVE_ESC:
 | 
			
		||||
            keymap_config.swap_grave_esc = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_SWAP_BACKSLASH_BACKSPACE:
 | 
			
		||||
            keymap_config.swap_backslash_backspace = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_HOST_NKRO:
 | 
			
		||||
            keymap_config.nkro = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_SWAP_ALT_GUI:
 | 
			
		||||
            keymap_config.swap_lalt_lgui = true;
 | 
			
		||||
            keymap_config.swap_ralt_rgui = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNSWAP_CONTROL_CAPSLOCK:
 | 
			
		||||
            keymap_config.swap_control_capslock = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNCAPSLOCK_TO_CONTROL:
 | 
			
		||||
            keymap_config.capslock_to_control = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNSWAP_LALT_LGUI:
 | 
			
		||||
            keymap_config.swap_lalt_lgui = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNSWAP_RALT_RGUI:
 | 
			
		||||
            keymap_config.swap_ralt_rgui = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNNO_GUI:
 | 
			
		||||
            keymap_config.no_gui = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNSWAP_GRAVE_ESC:
 | 
			
		||||
            keymap_config.swap_grave_esc = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNSWAP_BACKSLASH_BACKSPACE:
 | 
			
		||||
            keymap_config.swap_backslash_backspace = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNHOST_NKRO:
 | 
			
		||||
            keymap_config.nkro = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_UNSWAP_ALT_GUI:
 | 
			
		||||
            keymap_config.swap_lalt_lgui = false;
 | 
			
		||||
            keymap_config.swap_ralt_rgui = false;
 | 
			
		||||
            break;
 | 
			
		||||
          case MAGIC_TOGGLE_NKRO:
 | 
			
		||||
            keymap_config.nkro = !keymap_config.nkro;
 | 
			
		||||
            break;
 | 
			
		||||
          default:
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        eeconfig_update_keymap(keymap_config.raw);
 | 
			
		||||
        clear_keyboard(); // clear to prevent stuck keys
 | 
			
		||||
 | 
			
		||||
        return false;
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
| 
						 | 
				
			
			@ -284,7 +296,7 @@ bool process_record_quantum(keyrecord_t *record) {
 | 
			
		|||
        unregister_mods(MOD_BIT(KC_LSFT));
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
      // break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    case KC_RSPC: {
 | 
			
		||||
| 
						 | 
				
			
			@ -306,7 +318,7 @@ bool process_record_quantum(keyrecord_t *record) {
 | 
			
		|||
        unregister_mods(MOD_BIT(KC_RSFT));
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
      // break;
 | 
			
		||||
    }
 | 
			
		||||
    default: {
 | 
			
		||||
      shift_interrupted[0] = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue