aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-09-21 21:21:34 +0900
committertmk <nobody@nowhere>2013-09-21 21:21:34 +0900
commitb2c7529ec9dce2d1f32f0c3e228059092f5f2238 (patch)
tree09bd4f2647c174423f489ff8b4ddca8aca025159 /common
parent58ca7b904b4410416f6b7edf1051ec58f6cdb6c4 (diff)
downloadqmk_firmware-b2c7529ec9dce2d1f32f0c3e228059092f5f2238.tar.gz
qmk_firmware-b2c7529ec9dce2d1f32f0c3e228059092f5f2238.zip
Fix to bootmagic key configurable
Diffstat (limited to 'common')
-rw-r--r--common/bootmagic.c4
-rw-r--r--common/bootmagic.h40
-rw-r--r--common/keymap.c3
3 files changed, 44 insertions, 3 deletions
diff --git a/common/bootmagic.c b/common/bootmagic.c
index 410dc6836..036d49044 100644
--- a/common/bootmagic.c
+++ b/common/bootmagic.c
@@ -18,8 +18,10 @@ void bootmagic(void)
18 } 18 }
19 19
20 /* do scans in case of bounce */ 20 /* do scans in case of bounce */
21 print("boogmagic scan: ... ");
21 uint8_t scan = 100; 22 uint8_t scan = 100;
22 while (scan--) { matrix_scan(); _delay_ms(10); } 23 while (scan--) { matrix_scan(); _delay_ms(10); }
24 print("done.\n");
23 25
24 /* bootmagic skip */ 26 /* bootmagic skip */
25 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SKIP)) { 27 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SKIP)) {
@@ -53,7 +55,7 @@ void bootmagic(void)
53 55
54 /* keymap config */ 56 /* keymap config */
55 keymap_config.raw = eeconfig_read_keymap(); 57 keymap_config.raw = eeconfig_read_keymap();
56 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_CONTROL_CPASLOCK)) { 58 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK)) {
57 keymap_config.swap_control_capslock = !keymap_config.swap_control_capslock; 59 keymap_config.swap_control_capslock = !keymap_config.swap_control_capslock;
58 } 60 }
59 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL)) { 61 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL)) {
diff --git a/common/bootmagic.h b/common/bootmagic.h
index 2d14b3e76..7c1922397 100644
--- a/common/bootmagic.h
+++ b/common/bootmagic.h
@@ -23,34 +23,72 @@
23#endif 23#endif
24 24
25/* debug enable */ 25/* debug enable */
26#ifndef BOOTMAGIC_KEY_DEBUG_ENABLE
26#define BOOTMAGIC_KEY_DEBUG_ENABLE KC_D 27#define BOOTMAGIC_KEY_DEBUG_ENABLE KC_D
28#endif
29#ifndef BOOTMAGIC_KEY_DEBUG_MATRIX
27#define BOOTMAGIC_KEY_DEBUG_MATRIX KC_X 30#define BOOTMAGIC_KEY_DEBUG_MATRIX KC_X
31#endif
32#ifndef BOOTMAGIC_KEY_DEBUG_KEYBOARD
28#define BOOTMAGIC_KEY_DEBUG_KEYBOARD KC_K 33#define BOOTMAGIC_KEY_DEBUG_KEYBOARD KC_K
34#endif
35#ifndef BOOTMAGIC_KEY_DEBUG_MOUSE
29#define BOOTMAGIC_KEY_DEBUG_MOUSE KC_M 36#define BOOTMAGIC_KEY_DEBUG_MOUSE KC_M
37#endif
30 38
31/* 39/*
32 * keymap config 40 * keymap config
33 */ 41 */
34#define BOOTMAGIC_KEY_SWAP_CONTROL_CPASLOCK KC_LCTRL 42#ifndef BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK
43#define BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK KC_LCTRL
44#endif
45#ifndef BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL
35#define BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL KC_CAPSLOCK 46#define BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL KC_CAPSLOCK
47#endif
48#ifndef BOOTMAGIC_KEY_SWAP_LALT_LGUI
36#define BOOTMAGIC_KEY_SWAP_LALT_LGUI KC_LALT 49#define BOOTMAGIC_KEY_SWAP_LALT_LGUI KC_LALT
50#endif
51#ifndef BOOTMAGIC_KEY_SWAP_RALT_RGUI
37#define BOOTMAGIC_KEY_SWAP_RALT_RGUI KC_RALT 52#define BOOTMAGIC_KEY_SWAP_RALT_RGUI KC_RALT
53#endif
54#ifndef BOOTMAGIC_KEY_NO_GUI
38#define BOOTMAGIC_KEY_NO_GUI KC_LGUI 55#define BOOTMAGIC_KEY_NO_GUI KC_LGUI
56#endif
57#ifndef BOOTMAGIC_KEY_SWAP_GRAVE_ESC
39#define BOOTMAGIC_KEY_SWAP_GRAVE_ESC KC_GRAVE 58#define BOOTMAGIC_KEY_SWAP_GRAVE_ESC KC_GRAVE
59#endif
60#ifndef BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE
40#define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE KC_BSLASH 61#define BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE KC_BSLASH
62#endif
41 63
42 64
43/* 65/*
44 * change default layer 66 * change default layer
45 */ 67 */
68#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_0
46#define BOOTMAGIC_KEY_DEFAULT_LAYER_0 KC_0 69#define BOOTMAGIC_KEY_DEFAULT_LAYER_0 KC_0
70#endif
71#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_1
47#define BOOTMAGIC_KEY_DEFAULT_LAYER_1 KC_1 72#define BOOTMAGIC_KEY_DEFAULT_LAYER_1 KC_1
73#endif
74#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_2
48#define BOOTMAGIC_KEY_DEFAULT_LAYER_2 KC_2 75#define BOOTMAGIC_KEY_DEFAULT_LAYER_2 KC_2
76#endif
77#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_3
49#define BOOTMAGIC_KEY_DEFAULT_LAYER_3 KC_3 78#define BOOTMAGIC_KEY_DEFAULT_LAYER_3 KC_3
79#endif
80#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_4
50#define BOOTMAGIC_KEY_DEFAULT_LAYER_4 KC_4 81#define BOOTMAGIC_KEY_DEFAULT_LAYER_4 KC_4
82#endif
83#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_5
51#define BOOTMAGIC_KEY_DEFAULT_LAYER_5 KC_5 84#define BOOTMAGIC_KEY_DEFAULT_LAYER_5 KC_5
85#endif
86#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_6
52#define BOOTMAGIC_KEY_DEFAULT_LAYER_6 KC_6 87#define BOOTMAGIC_KEY_DEFAULT_LAYER_6 KC_6
88#endif
89#ifndef BOOTMAGIC_KEY_DEFAULT_LAYER_7
53#define BOOTMAGIC_KEY_DEFAULT_LAYER_7 KC_7 90#define BOOTMAGIC_KEY_DEFAULT_LAYER_7 KC_7
91#endif
54 92
55 93
56void bootmagic(void); 94void bootmagic(void);
diff --git a/common/keymap.c b/common/keymap.c
index cf4711bf6..bfb8ffac1 100644
--- a/common/keymap.c
+++ b/common/keymap.c
@@ -36,10 +36,11 @@ action_t action_for_key(uint8_t layer, key_t key)
36 return keymap_fn_to_action(keycode); 36 return keymap_fn_to_action(keycode);
37#ifdef BOOTMAGIC_ENABLE 37#ifdef BOOTMAGIC_ENABLE
38 case KC_CAPSLOCK: 38 case KC_CAPSLOCK:
39 case KC_LOCKING_CAPS:
39 if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) { 40 if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) {
40 return keycode_to_action(KC_LCTL); 41 return keycode_to_action(KC_LCTL);
41 } 42 }
42 return keycode_to_action(KC_CAPS); 43 return keycode_to_action(keycode);
43 case KC_LCTL: 44 case KC_LCTL:
44 if (keymap_config.swap_control_capslock) { 45 if (keymap_config.swap_control_capslock) {
45 return keycode_to_action(KC_CAPSLOCK); 46 return keycode_to_action(KC_CAPSLOCK);