1+ /* ==================================================== *
2+ * Map hotkeys to alternative layouts
3+ * ==================================================== */
4+
5+ /* DVORAK */
6+ #define DVORAK_HID_KEY_A HID_KEY_A
7+ #define DVORAK_HID_KEY_B HID_KEY_N
8+ #define DVORAK_HID_KEY_C HID_KEY_I
9+ #define DVORAK_HID_KEY_D HID_KEY_H
10+ #define DVORAK_HID_KEY_E HID_KEY_D
11+ #define DVORAK_HID_KEY_F HID_KEY_Y
12+ #define DVORAK_HID_KEY_G HID_KEY_U
13+ #define DVORAK_HID_KEY_H HID_KEY_J
14+ #define DVORAK_HID_KEY_I HID_KEY_G
15+ #define DVORAK_HID_KEY_J HID_KEY_C
16+ #define DVORAK_HID_KEY_K HID_KEY_V
17+ #define DVORAK_HID_KEY_L HID_KEY_P
18+ #define DVORAK_HID_KEY_M HID_KEY_M
19+ #define DVORAK_HID_KEY_N HID_KEY_L
20+ #define DVORAK_HID_KEY_O HID_KEY_S
21+ #define DVORAK_HID_KEY_P HID_KEY_R
22+ #define DVORAK_HID_KEY_Q HID_KEY_X
23+ #define DVORAK_HID_KEY_R HID_KEY_O
24+ #define DVORAK_HID_KEY_S HID_KEY_SEMICOLON
25+ #define DVORAK_HID_KEY_T HID_KEY_K
26+ #define DVORAK_HID_KEY_U HID_KEY_F
27+ #define DVORAK_HID_KEY_V HID_KEY_PERIOD
28+ #define DVORAK_HID_KEY_W HID_KEY_COMMA
29+ #define DVORAK_HID_KEY_X HID_KEY_B
30+ #define DVORAK_HID_KEY_Y HID_KEY_T
31+ #define DVORAK_HID_KEY_Z HID_KEY_SLASH
32+
33+ /* COLEMAK */
34+ #define COLEMAK_HID_KEY_A HID_KEY_A
35+ #define COLEMAK_HID_KEY_B HID_KEY_B
36+ #define COLEMAK_HID_KEY_C HID_KEY_C
37+ #define COLEMAK_HID_KEY_D HID_KEY_G
38+ #define COLEMAK_HID_KEY_E HID_KEY_K
39+ #define COLEMAK_HID_KEY_F HID_KEY_E
40+ #define COLEMAK_HID_KEY_G HID_KEY_T
41+ #define COLEMAK_HID_KEY_H HID_KEY_H
42+ #define COLEMAK_HID_KEY_I HID_KEY_L
43+ #define COLEMAK_HID_KEY_J HID_KEY_Y
44+ #define COLEMAK_HID_KEY_K HID_KEY_N
45+ #define COLEMAK_HID_KEY_L HID_KEY_U
46+ #define COLEMAK_HID_KEY_M HID_KEY_M
47+ #define COLEMAK_HID_KEY_N HID_KEY_J
48+ #define COLEMAK_HID_KEY_O HID_KEY_SEMICOLON
49+ #define COLEMAK_HID_KEY_P HID_KEY_R
50+ #define COLEMAK_HID_KEY_Q HID_KEY_Q
51+ #define COLEMAK_HID_KEY_R HID_KEY_S
52+ #define COLEMAK_HID_KEY_S HID_KEY_D
53+ #define COLEMAK_HID_KEY_T HID_KEY_F
54+ #define COLEMAK_HID_KEY_U HID_KEY_I
55+ #define COLEMAK_HID_KEY_V HID_KEY_V
56+ #define COLEMAK_HID_KEY_W HID_KEY_W
57+ #define COLEMAK_HID_KEY_X HID_KEY_X
58+ #define COLEMAK_HID_KEY_Y HID_KEY_O
59+ #define COLEMAK_HID_KEY_Z HID_KEY_Z
60+
61+ /* QWERTY needs no change */
62+ #if KEYBOARD_LAYOUT == 0
63+ #define KBD_REMAP (key ) key
64+
65+ /* For DVORAK we prepend DVORAK_ and reference the definitions above */
66+ #elif KEYBOARD_LAYOUT == 1
67+ #define KBD_REMAP (key ) DVORAK_##key
68+
69+ /* For COLEMAK we prepend COLEMAK_ and reference the definitions above */
70+ #elif KEYBOARD_LAYOUT == 2
71+ #define KBD_REMAP (key ) COLEMAK_##key
72+ #endif
0 commit comments