From b2c7529ec9dce2d1f32f0c3e228059092f5f2238 Mon Sep 17 00:00:00 2001 From: tmk Date: Sat, 21 Sep 2013 21:21:34 +0900 Subject: [PATCH] Fix to bootmagic key configurable --- common/bootmagic.c | 4 +++- common/bootmagic.h | 40 +++++++++++++++++++++++++++++++++++++++- common/keymap.c | 3 ++- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/common/bootmagic.c b/common/bootmagic.c index 410dc683..036d4904 100644 --- a/common/bootmagic.c +++ b/common/bootmagic.c @@ -18,8 +18,10 @@ void bootmagic(void) } /* do scans in case of bounce */ + print("boogmagic scan: ... "); uint8_t scan = 100; while (scan--) { matrix_scan(); _delay_ms(10); } + print("done.\n"); /* bootmagic skip */ if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SKIP)) { @@ -53,7 +55,7 @@ void bootmagic(void) /* keymap config */ keymap_config.raw = eeconfig_read_keymap(); - if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_CONTROL_CPASLOCK)) { + if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK)) { keymap_config.swap_control_capslock = !keymap_config.swap_control_capslock; } if (bootmagic_scan_keycode(BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL)) { diff --git a/common/bootmagic.h b/common/bootmagic.h index 2d14b3e7..7c192239 100644 --- a/common/bootmagic.h +++ b/common/bootmagic.h @@ -23,34 +23,72 @@ #endif /* debug enable */ +#ifndef BOOTMAGIC_KEY_DEBUG_ENABLE #define BOOTMAGIC_KEY_DEBUG_ENABLE KC_D +#endif +#ifndef BOOTMAGIC_KEY_DEBUG_MATRIX #define BOOTMAGIC_KEY_DEBUG_MATRIX KC_X +#endif +#ifndef BOOTMAGIC_KEY_DEBUG_KEYBOARD #define BOOTMAGIC_KEY_DEBUG_KEYBOARD KC_K +#endif +#ifndef BOOTMAGIC_KEY_DEBUG_MOUSE #define BOOTMAGIC_KEY_DEBUG_MOUSE KC_M +#endif /* * keymap config */ -#define BOOTMAGIC_KEY_SWAP_CONTROL_CPASLOCK KC_LCTRL +#ifndef BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK +#define BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK KC_LCTRL +#endif +#ifndef BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL #define BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL KC_CAPSLOCK +#endif +#ifndef BOOTMAGIC_KEY_SWAP_LALT_LGUI #define BOOTMAGIC_KEY_SWAP_LALT_LGUI KC_LALT +#endif +#ifndef BOOTMAGIC_KEY_SWAP_RALT_RGUI #define BOOTMAGIC_KEY_SWAP_RALT_RGUI KC_RALT +#endif +#ifndef BOOTMAGIC_KEY_NO_GUI #define BOOTMAGIC_KEY_NO_GUI KC_LGUI +#endif +#ifndef BOOTMAGIC_KEY_SWAP_GRAVE_ESC #define BOOTMAGIC_KEY_SWAP_GRAVE_ESC KC_GRAVE +#endif +#ifndef BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE #define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE KC_BSLASH +#endif /* * change default layer */ +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_0 #define BOOTMAGIC_KEY_DEFAULT_LAYER_0 KC_0 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_1 #define BOOTMAGIC_KEY_DEFAULT_LAYER_1 KC_1 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_2 #define BOOTMAGIC_KEY_DEFAULT_LAYER_2 KC_2 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_3 #define BOOTMAGIC_KEY_DEFAULT_LAYER_3 KC_3 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_4 #define BOOTMAGIC_KEY_DEFAULT_LAYER_4 KC_4 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_5 #define BOOTMAGIC_KEY_DEFAULT_LAYER_5 KC_5 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_6 #define BOOTMAGIC_KEY_DEFAULT_LAYER_6 KC_6 +#endif +#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_7 #define BOOTMAGIC_KEY_DEFAULT_LAYER_7 KC_7 +#endif void bootmagic(void); diff --git a/common/keymap.c b/common/keymap.c index cf4711bf..bfb8ffac 100644 --- a/common/keymap.c +++ b/common/keymap.c @@ -36,10 +36,11 @@ action_t action_for_key(uint8_t layer, key_t key) return keymap_fn_to_action(keycode); #ifdef BOOTMAGIC_ENABLE case KC_CAPSLOCK: + case KC_LOCKING_CAPS: if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) { return keycode_to_action(KC_LCTL); } - return keycode_to_action(KC_CAPS); + return keycode_to_action(keycode); case KC_LCTL: if (keymap_config.swap_control_capslock) { return keycode_to_action(KC_CAPSLOCK);