diff options
author | tmk <nobody@nowhere> | 2013-09-21 21:21:34 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2013-09-21 21:21:34 +0900 |
commit | b2c7529ec9dce2d1f32f0c3e228059092f5f2238 (patch) | |
tree | 09bd4f2647c174423f489ff8b4ddca8aca025159 /common | |
parent | 58ca7b904b4410416f6b7edf1051ec58f6cdb6c4 (diff) | |
download | qmk_firmware-b2c7529ec9dce2d1f32f0c3e228059092f5f2238.tar.gz qmk_firmware-b2c7529ec9dce2d1f32f0c3e228059092f5f2238.zip |
Fix to bootmagic key configurable
Diffstat (limited to 'common')
-rw-r--r-- | common/bootmagic.c | 4 | ||||
-rw-r--r-- | common/bootmagic.h | 40 | ||||
-rw-r--r-- | common/keymap.c | 3 |
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 | ||
56 | void bootmagic(void); | 94 | void 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); |