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:
parent
894a387d1f
commit
e5bafff725
6 changed files with 15 additions and 1 deletions
|
@ -151,6 +151,7 @@ To avoid configuring accidentally additive salt key `KC_SPACE` also needs to be
|
||||||
- Disable Gui(`Left Gui`)
|
- Disable Gui(`Left Gui`)
|
||||||
- Swap Grave and Escape(`Grave`)
|
- Swap Grave and Escape(`Grave`)
|
||||||
- Swap BackSlash and BackSpace(`Back Slash`)
|
- Swap BackSlash and BackSpace(`Back Slash`)
|
||||||
|
- Enable NKRO on boot(`N`)
|
||||||
|
|
||||||
#### Default Layer
|
#### Default Layer
|
||||||
- Set Default Layer to 0(`0`)
|
- Set Default Layer to 0(`0`)
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "bootloader.h"
|
#include "bootloader.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "keymap.h"
|
#include "keymap.h"
|
||||||
|
#include "host.h"
|
||||||
#include "action_layer.h"
|
#include "action_layer.h"
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
#include "bootmagic.h"
|
#include "bootmagic.h"
|
||||||
|
@ -76,8 +77,15 @@ void bootmagic(void)
|
||||||
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE)) {
|
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE)) {
|
||||||
keymap_config.swap_backslash_backspace = !keymap_config.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);
|
eeconfig_write_keymap(keymap_config.raw);
|
||||||
|
|
||||||
|
#ifdef NKRO_ENABLE
|
||||||
|
keyboard_nkro = keymap_config.nkro;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* default layer */
|
/* default layer */
|
||||||
uint8_t default_layer = 0;
|
uint8_t default_layer = 0;
|
||||||
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_0)) { default_layer |= (1<<0); }
|
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_DEFAULT_LAYER_0)) { default_layer |= (1<<0); }
|
||||||
|
|
|
@ -60,6 +60,9 @@
|
||||||
#ifndef BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE
|
#ifndef BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE
|
||||||
#define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE KC_BSLASH
|
#define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE KC_BSLASH
|
||||||
#endif
|
#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(".no_gui: "); print_dec(kc.no_gui); print("\n");
|
||||||
print(".swap_grave_esc: "); print_dec(kc.swap_grave_esc); 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(".swap_backslash_backspace: "); print_dec(kc.swap_backslash_backspace); print("\n");
|
||||||
|
print(".nkro: "); print_dec(kc.nkro); print("\n");
|
||||||
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
backlight_config_t bc;
|
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_NO_GUI (1<<4)
|
||||||
#define EECONFIG_KEYMAP_SWAP_GRAVE_ESC (1<<5)
|
#define EECONFIG_KEYMAP_SWAP_GRAVE_ESC (1<<5)
|
||||||
#define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE (1<<6)
|
#define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE (1<<6)
|
||||||
|
#define EECONFIG_KEYMAP_NKRO (1<<7)
|
||||||
|
|
||||||
|
|
||||||
bool eeconfig_is_enabled(void);
|
bool eeconfig_is_enabled(void);
|
||||||
|
|
|
@ -35,7 +35,7 @@ typedef union {
|
||||||
bool no_gui:1;
|
bool no_gui:1;
|
||||||
bool swap_grave_esc:1;
|
bool swap_grave_esc:1;
|
||||||
bool swap_backslash_backspace:1;
|
bool swap_backslash_backspace:1;
|
||||||
bool reserved:1;
|
bool nkro:1;
|
||||||
};
|
};
|
||||||
} keymap_config_t;
|
} keymap_config_t;
|
||||||
keymap_config_t keymap_config;
|
keymap_config_t keymap_config;
|
||||||
|
|
Loading…
Reference in a new issue