diff options
Diffstat (limited to 'common/keymap.c')
| -rw-r--r-- | common/keymap.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/common/keymap.c b/common/keymap.c index 572d922c6..8e2b8607c 100644 --- a/common/keymap.c +++ b/common/keymap.c | |||
| @@ -34,6 +34,70 @@ action_t action_for_key(uint8_t layer, key_t key) | |||
| 34 | switch (keycode) { | 34 | switch (keycode) { |
| 35 | case KC_FN0 ... KC_FN31: | 35 | case KC_FN0 ... KC_FN31: |
| 36 | return keymap_fn_to_action(keycode); | 36 | return keymap_fn_to_action(keycode); |
| 37 | #ifdef BOOTMAGIC_ENABLE | ||
| 38 | case KC_CAPSLOCK: | ||
| 39 | if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) { | ||
| 40 | return keycode_to_action(KC_LCTL); | ||
| 41 | } | ||
| 42 | return keycode_to_action(KC_CAPS); | ||
| 43 | case KC_LCTL: | ||
| 44 | if (keymap_config.swap_control_capslock) { | ||
| 45 | return keycode_to_action(KC_CAPSLOCK); | ||
| 46 | } | ||
| 47 | return keycode_to_action(KC_LCTL); | ||
| 48 | case KC_LALT: | ||
| 49 | if (keymap_config.swap_lalt_lgui) { | ||
| 50 | if (keymap_config.no_gui) { | ||
| 51 | return keycode_to_action(ACTION_NO); | ||
| 52 | } | ||
| 53 | return keycode_to_action(KC_LGUI); | ||
| 54 | } | ||
| 55 | return keycode_to_action(KC_LALT); | ||
| 56 | case KC_LGUI: | ||
| 57 | if (keymap_config.swap_lalt_lgui) { | ||
| 58 | return keycode_to_action(KC_LALT); | ||
| 59 | } | ||
| 60 | if (keymap_config.no_gui) { | ||
| 61 | return keycode_to_action(ACTION_NO); | ||
| 62 | } | ||
| 63 | return keycode_to_action(KC_LGUI); | ||
| 64 | case KC_RALT: | ||
| 65 | if (keymap_config.swap_ralt_rgui) { | ||
| 66 | if (keymap_config.no_gui) { | ||
| 67 | return keycode_to_action(ACTION_NO); | ||
| 68 | } | ||
| 69 | return keycode_to_action(KC_RGUI); | ||
| 70 | } | ||
| 71 | return keycode_to_action(KC_RALT); | ||
| 72 | case KC_RGUI: | ||
| 73 | if (keymap_config.swap_ralt_rgui) { | ||
| 74 | return keycode_to_action(KC_RALT); | ||
| 75 | } | ||
| 76 | if (keymap_config.no_gui) { | ||
| 77 | return keycode_to_action(ACTION_NO); | ||
| 78 | } | ||
| 79 | return keycode_to_action(KC_RGUI); | ||
| 80 | case KC_GRAVE: | ||
| 81 | if (keymap_config.swap_grave_esc) { | ||
| 82 | return keycode_to_action(KC_ESC); | ||
| 83 | } | ||
| 84 | return keycode_to_action(KC_GRAVE); | ||
| 85 | case KC_ESC: | ||
| 86 | if (keymap_config.swap_grave_esc) { | ||
| 87 | return keycode_to_action(KC_GRAVE); | ||
| 88 | } | ||
| 89 | return keycode_to_action(KC_ESC); | ||
| 90 | case KC_BSLASH: | ||
| 91 | if (keymap_config.swap_backslash_backspace) { | ||
| 92 | return keycode_to_action(KC_BSPACE); | ||
| 93 | } | ||
| 94 | return keycode_to_action(KC_BSLASH); | ||
| 95 | case KC_BSPACE: | ||
| 96 | if (keymap_config.swap_backslash_backspace) { | ||
| 97 | return keycode_to_action(KC_BSLASH); | ||
| 98 | } | ||
| 99 | return keycode_to_action(KC_BSPACE); | ||
| 100 | #endif | ||
| 37 | default: | 101 | default: |
| 38 | return keycode_to_action(keycode); | 102 | return keycode_to_action(keycode); |
| 39 | } | 103 | } |
