diff options
Diffstat (limited to 'quantum/keymap_extras/keymap_norman.h')
-rw-r--r-- | quantum/keymap_extras/keymap_norman.h | 138 |
1 files changed, 105 insertions, 33 deletions
diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h index e0f246f82..45727467b 100644 --- a/quantum/keymap_extras/keymap_norman.h +++ b/quantum/keymap_extras/keymap_norman.h | |||
@@ -1,4 +1,3 @@ | |||
1 | |||
2 | /* Copyright 2019 Torben Hoffmann | 1 | /* Copyright 2019 Torben Hoffmann |
3 | * | 2 | * |
4 | * This program is free software: you can redistribute it and/or modify | 3 | * This program is free software: you can redistribute it and/or modify |
@@ -14,40 +13,113 @@ | |||
14 | * You should have received a copy of the GNU General Public License | 13 | * You should have received a copy of the GNU General Public License |
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 | */ | 15 | */ |
16 | |||
17 | #pragma once | 17 | #pragma once |
18 | 18 | ||
19 | #include "keymap.h" | 19 | #include "keymap.h" |
20 | // For software implementation of norman | ||
21 | #define NM_Q KC_Q | ||
22 | #define NM_W KC_W | ||
23 | #define NM_D KC_E | ||
24 | #define NM_F KC_R | ||
25 | #define NM_K KC_T | ||
26 | #define NM_J KC_Y | ||
27 | #define NM_U KC_U | ||
28 | #define NM_R KC_I | ||
29 | #define NM_L KC_O | ||
30 | #define NM_SCLN KC_P | ||
31 | #define NM_COLN LSFT(NM_SCLN) | ||
32 | 20 | ||
33 | #define NM_A KC_A | 21 | // clang-format off |
34 | #define NM_S KC_S | ||
35 | #define NM_E KC_D | ||
36 | #define NM_T KC_F | ||
37 | #define NM_G KC_G | ||
38 | #define NM_Y KC_H | ||
39 | #define NM_N KC_J | ||
40 | #define NM_I KC_K | ||
41 | #define NM_O KC_L | ||
42 | #define NM_H KC_SCLN | ||
43 | 22 | ||
44 | #define NM_Z KC_Z | 23 | /* |
45 | #define NM_X KC_X | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ |
46 | #define NM_C KC_C | 25 | * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │ |
47 | #define NM_V KC_V | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ |
48 | #define NM_B KC_B | 27 | * │ │ Q │ W │ D │ F │ K │ J │ U │ R │ L │ ; │ [ │ ] │ \ │ |
49 | #define NM_P KC_N | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ |
50 | #define NM_M KC_M | 29 | * │ │ A │ S │ E │ T │ G │ Y │ N │ I │ O │ H │ ' │ │ |
51 | #define NM_COMM KC_COMM | 30 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ |
52 | #define NM_DOT KC_DOT | 31 | * │ │ Z │ X │ C │ V │ B │ P │ M │ , │ . │ / │ │ |
53 | #define NM_SLSH KC_SLSH | 32 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ |
33 | * │ │ │ │ │ │ │ │ │ | ||
34 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
35 | */ | ||
36 | // Row 1 | ||
37 | #define NM_GRV KC_GRV // ` | ||
38 | #define NM_1 KC_1 // 1 | ||
39 | #define NM_2 KC_2 // 2 | ||
40 | #define NM_3 KC_3 // 3 | ||
41 | #define NM_4 KC_4 // 4 | ||
42 | #define NM_5 KC_5 // 5 | ||
43 | #define NM_6 KC_6 // 6 | ||
44 | #define NM_7 KC_7 // 7 | ||
45 | #define NM_8 KC_8 // 8 | ||
46 | #define NM_9 KC_9 // 9 | ||
47 | #define NM_0 KC_0 // 0 | ||
48 | #define NM_MINS KC_MINS // - | ||
49 | #define NM_EQL KC_EQL // = | ||
50 | // Row 2 | ||
51 | #define NM_Q KC_Q // Q | ||
52 | #define NM_W KC_W // W | ||
53 | #define NM_D KC_E // D | ||
54 | #define NM_F KC_R // F | ||
55 | #define NM_K KC_T // K | ||
56 | #define NM_J KC_Y // J | ||
57 | #define NM_U KC_U // U | ||
58 | #define NM_R KC_I // R | ||
59 | #define NM_L KC_O // L | ||
60 | #define NM_SCLN KC_P // ; | ||
61 | #define NM_LBRC KC_LBRC // [ | ||
62 | #define NM_RBRC KC_RBRC // ] | ||
63 | #define NM_BSLS KC_BSLS // (backslash) | ||
64 | // Row 3 | ||
65 | #define NM_A KC_A // A | ||
66 | #define NM_S KC_S // S | ||
67 | #define NM_E KC_D // E | ||
68 | #define NM_T KC_F // T | ||
69 | #define NM_G KC_G // G | ||
70 | #define NM_Y KC_H // Y | ||
71 | #define NM_N KC_J // N | ||
72 | #define NM_I KC_K // I | ||
73 | #define NM_O KC_L // O | ||
74 | #define NM_H KC_SCLN // H | ||
75 | #define NM_QUOT KC_QUOT // ' | ||
76 | // Row 4 | ||
77 | #define NM_Z KC_Z // Z | ||
78 | #define NM_X KC_X // X | ||
79 | #define NM_C KC_C // C | ||
80 | #define NM_V KC_V // V | ||
81 | #define NM_B KC_B // B | ||
82 | #define NM_P KC_N // P | ||
83 | #define NM_M KC_M // M | ||
84 | #define NM_COMM KC_COMM // , | ||
85 | #define NM_DOT KC_DOT // . | ||
86 | #define NM_SLSH KC_SLSH // / | ||
87 | |||
88 | /* Shifted symbols | ||
89 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ | ||
90 | * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ | ||
91 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ | ||
92 | * │ │ │ │ │ │ │ │ │ │ │ ; │ { │ } │ | │ | ||
93 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ | ||
94 | * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ | ||
95 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ | ||
96 | * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │ | ||
97 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ | ||
98 | * │ │ │ │ │ │ │ │ │ | ||
99 | * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ | ||
100 | */ | ||
101 | // Row 1 | ||
102 | #define NM_TILD S(NM_GRV) // ~ | ||
103 | #define NM_EXLM S(NM_1) // ! | ||
104 | #define NM_AT S(NM_2) // @ | ||
105 | #define NM_HASH S(NM_3) // # | ||
106 | #define NM_DLR S(NM_4) // $ | ||
107 | #define NM_PERC S(NM_5) // % | ||
108 | #define NM_CIRC S(NM_6) // ^ | ||
109 | #define NM_AMPR S(NM_7) // & | ||
110 | #define NM_ASTR S(NM_8) // * | ||
111 | #define NM_LPRN S(NM_9) // ( | ||
112 | #define NM_RPRN S(NM_0) // ) | ||
113 | #define NM_UNDS S(NM_MINS) // _ | ||
114 | #define NM_PLUS S(NM_EQL) // + | ||
115 | // Row 2 | ||
116 | #define NM_COLN S(NM_SCLN) // : | ||
117 | #define NM_LCBR S(NM_LBRC) // { | ||
118 | #define NM_RCBR S(NM_RBRC) // } | ||
119 | #define NM_PIPE S(NM_BSLS) // | | ||
120 | // Row 3 | ||
121 | #define NM_DQUO S(NM_QUOT) // " | ||
122 | // Row 4 | ||
123 | #define NM_LABK S(NM_COMM) // < | ||
124 | #define NM_RABK S(NM_DOT) // > | ||
125 | #define NM_QUES S(NM_SLSH) // ? | ||