]> git.donarmstrong.com Git - tmk_firmware.git/commitdiff
Fix to bootmagic key configurable
authortmk <nobody@nowhere>
Sat, 21 Sep 2013 12:21:34 +0000 (21:21 +0900)
committertmk <nobody@nowhere>
Sat, 21 Sep 2013 12:21:34 +0000 (21:21 +0900)
common/bootmagic.c
common/bootmagic.h
common/keymap.c

index 410dc68364562901d4c5067496c82fe57d920fde..036d49044004156b5f4f313fbdaea81923bef31f 100644 (file)
@@ -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)) {
index 2d14b3e7632d5e2fed3cf1b949fd362b48f873ef..7c1922397308ecf3593c4b0b3c53e2c215c549c8 100644 (file)
 #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);
index cf4711bf66880594ff91730f499818201fdacf69..bfb8ffac1a593b1cd06a6364db4ce3c2f151df31 100644 (file)
@@ -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);