]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/keycode_config.c
Initial version of Raw HID interface
[qmk_firmware.git] / quantum / keycode_config.c
1 #include "keycode_config.h"
2
3 extern keymap_config_t keymap_config;
4
5 uint16_t keycode_config(uint16_t keycode) {
6
7     switch (keycode) {
8         case KC_CAPSLOCK:
9         case KC_LOCKING_CAPS:
10             if (keymap_config.swap_control_capslock || keymap_config.capslock_to_control) {
11                 return KC_LCTL;
12             }
13             return keycode;
14         case KC_LCTL:
15             if (keymap_config.swap_control_capslock) {
16                 return KC_CAPSLOCK;
17             }
18             return KC_LCTL;
19         case KC_LALT:
20             if (keymap_config.swap_lalt_lgui) {
21                 if (keymap_config.no_gui) {
22                     return KC_NO;
23                 }
24                 return KC_LGUI;
25             }
26             return KC_LALT;
27         case KC_LGUI:
28             if (keymap_config.swap_lalt_lgui) {
29                 return KC_LALT;
30             }
31             if (keymap_config.no_gui) {
32                 return KC_NO;
33             }
34             return KC_LGUI;
35         case KC_RALT:
36             if (keymap_config.swap_ralt_rgui) {
37                 if (keymap_config.no_gui) {
38                     return KC_NO;
39                 }
40                 return KC_RGUI;
41             }
42             return KC_RALT;
43         case KC_RGUI:
44             if (keymap_config.swap_ralt_rgui) {
45                 return KC_RALT;
46             }
47             if (keymap_config.no_gui) {
48                 return KC_NO;
49             }
50             return KC_RGUI;
51         case KC_GRAVE:
52             if (keymap_config.swap_grave_esc) {
53                 return KC_ESC;
54             }
55             return KC_GRAVE;
56         case KC_ESC:
57             if (keymap_config.swap_grave_esc) {
58                 return KC_GRAVE;
59             }
60             return KC_ESC;
61         case KC_BSLASH:
62             if (keymap_config.swap_backslash_backspace) {
63                 return KC_BSPACE;
64             }
65             return KC_BSLASH;
66         case KC_BSPACE:
67             if (keymap_config.swap_backslash_backspace) {
68                 return KC_BSLASH;
69             }
70             return KC_BSPACE;
71         default:
72             return keycode;
73     }
74 }