Update Dvorak, Colemak and Workman keycode aliases (#8217)
[jackhill/qmk/firmware.git] / quantum / keymap_extras / keymap_workman.h
1 /* Copyright 2018 Jacob Jerrell
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17 #pragma once
18
19 #include "keymap.h"
20
21 // clang-format off
22
23 /*
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │     │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │  \  │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │      │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │        │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │        │ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │          │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │    │    │    │                        │    │    │    │    │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36 // Row 1
37 #define WK_GRV KC_GRV // `
38 #define WK_1 KC_1 // 1
39 #define WK_2 KC_2 // 2
40 #define WK_3 KC_3 // 3
41 #define WK_4 KC_4 // 4
42 #define WK_5 KC_5 // 5
43 #define WK_6 KC_6 // 6
44 #define WK_7 KC_7 // 7
45 #define WK_8 KC_8 // 8
46 #define WK_9 KC_9 // 9
47 #define WK_0 KC_0 // 0
48 #define WK_MINS KC_MINS // -
49 #define WK_EQL KC_EQL // =
50 // Row 2
51 #define WK_Q KC_Q // Q
52 #define WK_D KC_W // D
53 #define WK_R KC_E // R
54 #define WK_W KC_R // W
55 #define WK_B KC_T // B
56 #define WK_J KC_Y // J
57 #define WK_F KC_U // F
58 #define WK_U KC_I // U
59 #define WK_P KC_O // P
60 #define WK_SCLN KC_P // ;
61 #define WK_LBRC KC_LBRC // [
62 #define WK_RBRC KC_RBRC // ]
63 #define WK_BSLS KC_BSLS // (backslash)
64 // Row 3
65 #define WK_A KC_A // A
66 #define WK_S KC_S // S
67 #define WK_H KC_D // H
68 #define WK_T KC_F // T
69 #define WK_G KC_G // G
70 #define WK_Y KC_H // Y
71 #define WK_N KC_J // N
72 #define WK_E KC_K // E
73 #define WK_O KC_L // O
74 #define WK_I KC_SCLN // I
75 #define WK_QUOT KC_QUOT // '
76 // Row 4
77 #define WK_Z KC_Z // Z
78 #define WK_X KC_X // X
79 #define WK_M KC_C // M
80 #define WK_C KC_V // C
81 #define WK_V KC_B // V
82 #define WK_K KC_N // K
83 #define WK_L KC_M // L
84 #define WK_COMM KC_COMM // ,
85 #define WK_DOT KC_DOT // .
86 #define WK_SLSH KC_SLSH // /
87
88 /* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │     │   │   │   │   │   │   │   │   │   │ : │ { │ } │  |  │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │      │   │   │   │   │   │   │   │   │   │   │ " │        │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │        │   │   │   │   │   │   │   │ < │ > │ ? │          │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │    │    │    │                        │    │    │    │    │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101 // Row 1
102 #define WK_TILD S(WK_GRV) // ~
103 #define WK_EXLM S(WK_1) // !
104 #define WK_AT S(WK_2) // @
105 #define WK_HASH S(WK_3) // #
106 #define WK_DLR S(WK_4) // $
107 #define WK_PERC S(WK_5) // %
108 #define WK_CIRC S(WK_6) // ^
109 #define WK_AMPR S(WK_7) // &
110 #define WK_ASTR S(WK_8) // *
111 #define WK_LPRN S(WK_9) // (
112 #define WK_RPRN S(WK_0) // )
113 #define WK_UNDS S(WK_MINS) // _
114 #define WK_PLUS S(WK_EQL) // +
115 // Row 2
116 #define WK_COLN S(WK_SCLN) // :
117 #define WK_LCBR S(WK_LBRC) // {
118 #define WK_RCBR S(WK_RBRC) // }
119 #define WK_PIPE S(WK_BSLS) // |
120 // Row 3
121 #define WK_DQUO S(WK_QUOT) // "
122 // Row 4
123 #define WK_LABK S(WK_COMM) // <
124 #define WK_RABK S(WK_DOT) // >
125 #define WK_QUES S(WK_SLSH) // ?
126
127 // DEPRECATED
128 #define KC_WK_Q WK_Q
129 #define KC_WK_D WK_D
130 #define KC_WK_R WK_R
131 #define KC_WK_W WK_W
132 #define KC_WK_B WK_B
133 #define KC_WK_J WK_J
134 #define KC_WK_F WK_F
135 #define KC_WK_U WK_U
136 #define KC_WK_P WK_P
137 #define KC_WK_SCLN WK_SCLN
138 #define KC_WK_A WK_A
139 #define KC_WK_S WK_S
140 #define KC_WK_H WK_H
141 #define KC_WK_T WK_T
142 #define KC_WK_G WK_G
143 #define KC_WK_Y WK_Y
144 #define KC_WK_N WK_N
145 #define KC_WK_E WK_E
146 #define KC_WK_O WK_O
147 #define KC_WK_I WK_I
148 #define KC_WK_Z WK_Z
149 #define KC_WK_X WK_X
150 #define KC_WK_M WK_M
151 #define KC_WK_C WK_C
152 #define KC_WK_V WK_V
153 #define KC_WK_K WK_K
154 #define KC_WK_L WK_L