aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras/keymap_colemak.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras/keymap_colemak.h')
-rw-r--r--quantum/keymap_extras/keymap_colemak.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h
new file mode 100644
index 000000000..b8d615748
--- /dev/null
+++ b/quantum/keymap_extras/keymap_colemak.h
@@ -0,0 +1,75 @@
1#ifndef KEYMAP_COLEMAK_H
2#define KEYMAP_COLEMAK_H
3
4#include "keymap.h"
5// For software implementation of colemak
6#define CM_Q KC_Q
7#define CM_W KC_W
8#define CM_F KC_E
9#define CM_P KC_R
10#define CM_G KC_T
11#define CM_J KC_Y
12#define CM_L KC_U
13#define CM_U KC_I
14#define CM_Y KC_O
15#define CM_SCLN KC_P
16
17#define CM_A KC_A
18#define CM_R KC_S
19#define CM_S KC_D
20#define CM_T KC_F
21#define CM_D KC_G
22#define CM_H KC_H
23#define CM_N KC_J
24#define CM_E KC_K
25#define CM_I KC_L
26#define CM_O KC_SCLN
27#define CM_COLN LSFT(CM_SCLN)
28
29#define CM_Z KC_Z
30#define CM_X KC_X
31#define CM_C KC_C
32#define CM_V KC_V
33#define CM_B KC_B
34#define CM_K KC_N
35#define CM_M KC_M
36#define CM_COMM KC_COMM
37#define CM_DOT KC_DOT
38#define CM_SLSH KC_SLSH
39
40// Make it easy to support these in macros
41// TODO: change macro implementation so these aren't needed
42#define KC_CM_Q CM_Q
43#define KC_CM_W CM_W
44#define KC_CM_F CM_F
45#define KC_CM_P CM_P
46#define KC_CM_G CM_G
47#define KC_CM_J CM_J
48#define KC_CM_L CM_L
49#define KC_CM_U CM_U
50#define KC_CM_Y CM_Y
51#define KC_CM_SCLN CM_SCLN
52
53#define KC_CM_A CM_A
54#define KC_CM_R CM_R
55#define KC_CM_S CM_S
56#define KC_CM_T CM_T
57#define KC_CM_D CM_D
58#define KC_CM_H CM_H
59#define KC_CM_N CM_N
60#define KC_CM_E CM_E
61#define KC_CM_I CM_I
62#define KC_CM_O CM_O
63
64#define KC_CM_Z CM_Z
65#define KC_CM_X CM_X
66#define KC_CM_C CM_C
67#define KC_CM_V CM_V
68#define KC_CM_B CM_B
69#define KC_CM_K CM_K
70#define KC_CM_M CM_M
71#define KC_CM_COMM CM_COMM
72#define KC_CM_DOT CM_DOT
73#define KC_CM_SLSH CM_SLSH
74
75#endif