Adding NKRO virtual dip-switch, using existing bit in keymap byte.
This takes the last, reserved bit there, but doesn't necessitate a revision to the magic number because it doesn't alter byte order. Add reference to NKRO virtual dip-switch to documentation.
This commit is contained in:
		| @@ -151,6 +151,7 @@ To avoid configuring accidentally additive salt key `KC_SPACE` also needs to be | ||||
| - Disable Gui(`Left Gui`) | ||||
| - Swap Grave and Escape(`Grave`) | ||||
| - Swap BackSlash and BackSpace(`Back Slash`) | ||||
| - Enable NKRO on boot(`N`) | ||||
|  | ||||
| #### Default Layer | ||||
| - Set Default Layer to 0(`0`) | ||||
|   | ||||
| @@ -5,6 +5,7 @@ | ||||
| #include "bootloader.h" | ||||
| #include "debug.h" | ||||
| #include "keymap.h" | ||||
| #include "host.h" | ||||
| #include "action_layer.h" | ||||
| #include "eeconfig.h" | ||||
| #include "bootmagic.h" | ||||
| @@ -76,8 +77,15 @@ void bootmagic(void) | ||||
|     if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE)) { | ||||
|         keymap_config.swap_backslash_backspace = !keymap_config.swap_backslash_backspace; | ||||
|     } | ||||
|     if (bootmagic_scan_keycode(BOOTMAGIC_HOST_NKRO)) { | ||||
|         keymap_config.nkro = !keymap_config.nkro; | ||||
|     } | ||||
|     eeconfig_write_keymap(keymap_config.raw); | ||||
|  | ||||
| #ifdef NKRO_ENABLE | ||||
|     keyboard_nkro = keymap_config.nkro; | ||||
| #endif | ||||
|  | ||||
|     /* default layer */ | ||||
|     uint8_t default_layer = 0; | ||||
|     if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_0)) { default_layer |= (1<<0); } | ||||
|   | ||||
| @@ -60,6 +60,9 @@ | ||||
| #ifndef BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE | ||||
| #define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE  KC_BSLASH | ||||
| #endif | ||||
| #ifndef BOOTMAGIC_HOST_NKRO | ||||
| #define BOOTMAGIC_HOST_NKRO              KC_N | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /* | ||||
|   | ||||
| @@ -151,6 +151,7 @@ static void print_eeconfig(void) | ||||
|     print(".no_gui: "); print_dec(kc.no_gui); print("\n"); | ||||
|     print(".swap_grave_esc: "); print_dec(kc.swap_grave_esc); print("\n"); | ||||
|     print(".swap_backslash_backspace: "); print_dec(kc.swap_backslash_backspace); print("\n"); | ||||
|     print(".nkro: "); print_dec(kc.nkro); print("\n"); | ||||
|  | ||||
| #ifdef BACKLIGHT_ENABLE | ||||
|     backlight_config_t bc; | ||||
|   | ||||
| @@ -47,6 +47,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| #define EECONFIG_KEYMAP_NO_GUI                      (1<<4) | ||||
| #define EECONFIG_KEYMAP_SWAP_GRAVE_ESC              (1<<5) | ||||
| #define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE    (1<<6) | ||||
| #define EECONFIG_KEYMAP_NKRO                        (1<<7) | ||||
|  | ||||
|  | ||||
| bool eeconfig_is_enabled(void); | ||||
|   | ||||
| @@ -35,7 +35,7 @@ typedef union { | ||||
|         bool no_gui:1; | ||||
|         bool swap_grave_esc:1; | ||||
|         bool swap_backslash_backspace:1; | ||||
|         bool reserved:1; | ||||
|         bool nkro:1; | ||||
|     }; | ||||
| } keymap_config_t; | ||||
| keymap_config_t keymap_config; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user