diff options
author | Erez Zukerman <bulk@ezuk.org> | 2017-03-12 13:50:31 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-12 13:50:31 -0400 |
commit | 987b0f8521ea8bda303498beef53ea7e07464f82 (patch) | |
tree | 3df49b3372cc63d12838c0cf3abb407efd47de83 | |
parent | 7c7a77d4bf8f35cd7f59119be0e95b5d28063988 (diff) | |
parent | e3f934ed919f75f27379dcf8b1316fa0ed8e78c3 (diff) | |
download | qmk_firmware-987b0f8521ea8bda303498beef53ea7e07464f82.tar.gz qmk_firmware-987b0f8521ea8bda303498beef53ea7e07464f82.zip |
Merge pull request #1154 from dennistruemper/neo2_on_qwerz_hardware
Neo2 on qwertz hardware
-rw-r--r-- | keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c | 408 | ||||
-rw-r--r-- | keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md | 194 |
2 files changed, 602 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c new file mode 100644 index 000000000..ab2464c42 --- /dev/null +++ b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c | |||
@@ -0,0 +1,408 @@ | |||
1 | #include "ergodox.h" | ||
2 | #include "action_layer.h" | ||
3 | #include "keymap_extras/keymap_german.h" | ||
4 | |||
5 | #define UM 0 | ||
6 | |||
7 | #define L0 0 // layer_0 | ||
8 | #define L1 1 // layer_1 | ||
9 | #define L2 2 // layer_2 | ||
10 | #define L3 3 // layer_3 | ||
11 | #define L4 4 // layer_4 | ||
12 | #define L5 5 // layer_5 | ||
13 | #define L6 6 // layer_6 | ||
14 | |||
15 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
16 | /* | ||
17 | .------------------------------------.------------------------------------. | ||
18 | |ESC | 1 | 2 | 3 | 4 | 5 | ´ | ` | 6 | 7 | 8 | 9 | 0 | ^ | | ||
19 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
20 | |TAB | X | V | L | C | W |Print| | K | H | G | F | Q | ß | | ||
21 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
22 | |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | Y | | ||
23 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
24 | |LSFT | ü | ö | ä | P | Z |SPACE| | B | M | , | . | J |RSFT | | ||
25 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
26 | |LCTL|LGUI|LALT|MO(3)|MO(2)| !MO(2)|MO(3)|APP |RALT|RCTL| | ||
27 | '------------------------' '------------------------' | ||
28 | .-----------. .-----------. | ||
29 | |VOL- |VOL+ | !MUTE |PLAY | | ||
30 | .-----+-----+-----! !-----+-----+-----. | ||
31 | ! ! | | ! | ! ! | ||
32 | ! ! |-----| !-----| ! ! | ||
33 | ! CTL ! ! ALT ! ! CTL ! ! ALT ! | ||
34 | |ENTER|MO(1)| TAB | !ESC |MO(1)|SPACE| | ||
35 | '-----------------' '-----------------' | ||
36 | */ | ||
37 | [L0] = KEYMAP( | ||
38 | KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, | ||
39 | KC_TAB, DE_X, DE_V, DE_L, DE_C, DE_W, KC_PSCR, | ||
40 | MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, | ||
41 | KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, KC_SPACE, | ||
42 | KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2), | ||
43 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_VOLU, | ||
44 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
45 | /*-*/ /*-*/ /*-*/ /*-*/ CTL_T(KC_ENTER), MO(1), ALT_T(KC_TAB), | ||
46 | DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, | ||
47 | KC_TRNS, DE_K, DE_H, DE_G, DE_F, DE_Q, DE_SS, | ||
48 | /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_Y, | ||
49 | KC_TRNS, DE_B, DE_M, DE_COMM, DE_DOT, DE_J, KC_RSFT, | ||
50 | /*-*/ /*-*/ MO(2), MO(3), KC_APP, KC_RALT, KC_RCTL, | ||
51 | KC_MUTE, KC_MPLY, | ||
52 | KC_TRNS, | ||
53 | CTL_T(KC_ESC), MO(1), ALT_T(KC_SPACE) | ||
54 | ), | ||
55 | /* | ||
56 | .------------------------------------.------------------------------------. | ||
57 | | | | | | | | | | | | | | | | | ||
58 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
59 | | | € | _ | [ | ] | | | | ! | < | > | = | & | | | ||
60 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
61 | | | \ | / | { | } | * |-----!-----! ? | ( | ) | - | : | @ | | ||
62 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
63 | | | # | $ | | | ~ | | | | + | % | " | ' | ; | | | ||
64 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
65 | | | | | | | ! | | | | | | ||
66 | '------------------------' '------------------------' | ||
67 | .-----------. .-----------. | ||
68 | | | | ! | | | ||
69 | .-----+-----+-----! !-----+-----+-----. | ||
70 | ! ! | | ! | ! ! | ||
71 | ! ! !-----! !-----! ! ! | ||
72 | | | | | ! | | | | ||
73 | '-----------------' '-----------------' | ||
74 | */ | ||
75 | [L1] = KEYMAP( | ||
76 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
77 | KC_TRNS, DE_EURO, DE_UNDS, DE_LBRC, DE_RBRC, KC_TRNS, KC_TRNS, | ||
78 | KC_TRNS, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, | ||
79 | KC_TRNS, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, | ||
80 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
81 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
82 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
83 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
84 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
85 | KC_TRNS, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, KC_TRNS, | ||
86 | /*-*/ DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT, | ||
87 | KC_TRNS, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, KC_TRNS, | ||
88 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
89 | KC_TRNS, KC_TRNS, | ||
90 | KC_TRNS, | ||
91 | KC_TRNS, KC_TRNS, KC_TRNS | ||
92 | ), | ||
93 | /* | ||
94 | * .------------------------------------.------------------------------------. | ||
95 | * | | | | | | | | | | | | | | | | ||
96 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
97 | * | |PGUP|BSPC| UP |DEL |PGDN| | | | 7 | 8 | 9 | | | | ||
98 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
99 | * | |HOME|LEFT|DOWN|RGHT|END |-----!-----! | 4 | 5 | 6 | | | | ||
100 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
101 | * | | | |PREV|NEXT| | | | | 1 | 2 | 3 | | | | ||
102 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
103 | * | | | | | | ! | | | | | | ||
104 | * '------------------------' '------------------------' | ||
105 | * .-----------. .-----------. | ||
106 | * | | | ! | | | ||
107 | * .-----+-----+-----! !-----+-----+-----. | ||
108 | * ! ! | | ! | ! ! | ||
109 | * ! ! !-----! !-----! ! ! | ||
110 | * | | | | ! | | 0 | | ||
111 | * '-----------------' '-----------------' | ||
112 | */ | ||
113 | [L2] = KEYMAP( | ||
114 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
115 | KC_TRNS, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_TRNS, | ||
116 | KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, | ||
117 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, | ||
118 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
119 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
120 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
121 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
122 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
123 | KC_TRNS, KC_TRNS, DE_7, DE_8, DE_9, KC_TRNS, KC_TRNS, | ||
124 | /*-*/ KC_TRNS, DE_4, DE_5, DE_6, KC_TRNS, KC_TRNS, | ||
125 | KC_TRNS, KC_TRNS, DE_1, DE_2, DE_3, KC_TRNS, KC_TRNS, | ||
126 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
127 | KC_TRNS, KC_TRNS, | ||
128 | KC_TRNS, | ||
129 | KC_TRNS, KC_TRNS, DE_0 | ||
130 | ), | ||
131 | /* | ||
132 | * .------------------------------------.------------------------------------. | ||
133 | * | | F1 | F2 | F3 | F4 | F5 | F6 | | | | | | | | | ||
134 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
135 | * | | F7 | F8 | F9 | F10| F11| F12 | | |M_WU|M_CU|M_WD| | | | ||
136 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
137 | * |M_B5 |M_B4|M_B3|M_B2|M_B1| |-----!-----! |M_CL|M_CD|M_CR| | | | ||
138 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
139 | * | | |M_A2|M_A1|M_A0| | | | | | | | | | | ||
140 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
141 | * | | | | | | ! | | | | | | ||
142 | * '------------------------' '------------------------' | ||
143 | * .-----------. .-----------. | ||
144 | * | | | ! | | | ||
145 | * .-----+-----+-----! !-----+-----+-----. | ||
146 | * ! ! | | ! | ! ! | ||
147 | * ! ! !-----! !-----! ! ! | ||
148 | * | | | | ! | | | | ||
149 | * '-----------------' '-----------------' | ||
150 | */ | ||
151 | [L3] = KEYMAP( | ||
152 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | ||
153 | KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
154 | KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, | ||
155 | KC_TRNS, KC_TRNS, KC_ACL2, KC_ACL1, KC_ACL0, KC_TRNS, KC_TRNS, | ||
156 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
157 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
158 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
159 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
160 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
161 | KC_TRNS, KC_TRNS, KC_WH_U, KC_MS_U, KC_WH_D, KC_TRNS, KC_TRNS, | ||
162 | /*-*/ KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, | ||
163 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
164 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
165 | KC_TRNS, KC_TRNS, | ||
166 | KC_TRNS, | ||
167 | KC_TRNS, KC_TRNS, KC_TRNS | ||
168 | ), | ||
169 | /* | ||
170 | * .------------------------------------.------------------------------------. | ||
171 | * | | | | | | | | | | | | | | | | ||
172 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
173 | * | | | | | | | | | | | | | | | | ||
174 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
175 | * | | | | | | |-----!-----! | | | | | | | ||
176 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
177 | * | | | | | | | | | | | | | | | | ||
178 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
179 | * | | | | | | ! | | | | | | ||
180 | * '------------------------' '------------------------' | ||
181 | * .-----------. .-----------. | ||
182 | * | | | ! | | | ||
183 | * .-----+-----+-----! !-----+-----+-----. | ||
184 | * ! ! | | ! | ! ! | ||
185 | * ! ! !-----! !-----! ! ! | ||
186 | * | | | | ! | | | | ||
187 | * '-----------------' '-----------------' | ||
188 | */ | ||
189 | [L4] = KEYMAP( | ||
190 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
191 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
192 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
193 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
194 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
195 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
196 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
197 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
198 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
199 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
200 | /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
201 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
202 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
203 | KC_TRNS, KC_TRNS, | ||
204 | KC_TRNS, | ||
205 | KC_TRNS, KC_TRNS, KC_TRNS | ||
206 | ), | ||
207 | /* | ||
208 | * .------------------------------------.------------------------------------. | ||
209 | * | | | | | | | | | | | | | | | | ||
210 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
211 | * | | | | | | | | | | | | | | | | ||
212 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
213 | * | | | | | | |-----!-----! | | | | | | | ||
214 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
215 | * | | | | | | | | | | | | | | | | ||
216 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
217 | * | | | | | | ! | | | | | | ||
218 | * '------------------------' '------------------------' | ||
219 | * .-----------. .-----------. | ||
220 | * | | | ! | | | ||
221 | * .-----+-----+-----! !-----+-----+-----. | ||
222 | * ! ! | | ! | ! ! | ||
223 | * ! ! !-----! !-----! ! ! | ||
224 | * | | | | ! | | | | ||
225 | * '-----------------' '-----------------' | ||
226 | */ | ||
227 | [L5] = KEYMAP( | ||
228 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
229 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
230 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
231 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
232 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
233 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
234 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
235 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
236 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
237 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
238 | /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
239 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
240 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
241 | KC_TRNS, KC_TRNS, | ||
242 | KC_TRNS, | ||
243 | KC_TRNS, KC_TRNS, KC_TRNS | ||
244 | ), | ||
245 | /* | ||
246 | * .------------------------------------.------------------------------------. | ||
247 | * | | | | | | | | | | | | | | | | ||
248 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
249 | * | | | | | | | | | | | | | | | | ||
250 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
251 | * | | | | | | |-----!-----! | | | | | | | ||
252 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
253 | * | | | | | | | | | | | | | | | | ||
254 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
255 | * | | | | | | ! | | | | | | ||
256 | * '------------------------' '------------------------' | ||
257 | * .-----------. .-----------. | ||
258 | * | | | ! | | | ||
259 | * .-----+-----+-----! !-----+-----+-----. | ||
260 | * ! ! | | ! | ! ! | ||
261 | * ! ! !-----! !-----! ! ! | ||
262 | * | | | | ! | | | | ||
263 | * '-----------------' '-----------------' | ||
264 | */ | ||
265 | [L6] = KEYMAP( | ||
266 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
267 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
268 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
269 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
270 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
271 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
272 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
273 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
274 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
275 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
276 | /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
277 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
278 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
279 | KC_TRNS, KC_TRNS, | ||
280 | KC_TRNS, | ||
281 | KC_TRNS, KC_TRNS, KC_TRNS | ||
282 | ), | ||
283 | }; | ||
284 | |||
285 | const uint16_t PROGMEM fn_actions[] = {}; | ||
286 | |||
287 | #define UC_MODE_WIN 0 | ||
288 | #define UC_MODE_LINUX 1 | ||
289 | #define UC_MODE_OSX 2 | ||
290 | |||
291 | // TODO: allow default mode to be configured | ||
292 | static uint16_t unicode_mode = UC_MODE_WIN; | ||
293 | |||
294 | uint16_t hextokeycode(uint8_t hex) { | ||
295 | if (hex == 0x0) { | ||
296 | return KC_P0; | ||
297 | } | ||
298 | if (hex < 0xA) { | ||
299 | return KC_P1 + (hex - 0x1); | ||
300 | } | ||
301 | return KC_A + (hex - 0xA); | ||
302 | } | ||
303 | |||
304 | void unicode_action_function(uint16_t hi, uint16_t lo) { | ||
305 | switch (unicode_mode) { | ||
306 | case UC_MODE_WIN: | ||
307 | register_code(KC_LALT); | ||
308 | |||
309 | register_code(KC_PPLS); | ||
310 | unregister_code(KC_PPLS); | ||
311 | |||
312 | register_code(hextokeycode((hi & 0xF0) >> 4)); | ||
313 | unregister_code(hextokeycode((hi & 0xF0) >> 4)); | ||
314 | register_code(hextokeycode((hi & 0x0F))); | ||
315 | unregister_code(hextokeycode((hi & 0x0F))); | ||
316 | register_code(hextokeycode((lo & 0xF0) >> 4)); | ||
317 | unregister_code(hextokeycode((lo & 0xF0) >> 4)); | ||
318 | register_code(hextokeycode((lo & 0x0F))); | ||
319 | unregister_code(hextokeycode((lo & 0x0F))); | ||
320 | |||
321 | unregister_code(KC_LALT); | ||
322 | break; | ||
323 | case UC_MODE_LINUX: | ||
324 | register_code(KC_LCTL); | ||
325 | register_code(KC_LSFT); | ||
326 | |||
327 | register_code(KC_U); | ||
328 | unregister_code(KC_U); | ||
329 | |||
330 | register_code(hextokeycode((hi & 0xF0) >> 4)); | ||
331 | unregister_code(hextokeycode((hi & 0xF0) >> 4)); | ||
332 | register_code(hextokeycode((hi & 0x0F))); | ||
333 | unregister_code(hextokeycode((hi & 0x0F))); | ||
334 | register_code(hextokeycode((lo & 0xF0) >> 4)); | ||
335 | unregister_code(hextokeycode((lo & 0xF0) >> 4)); | ||
336 | register_code(hextokeycode((lo & 0x0F))); | ||
337 | unregister_code(hextokeycode((lo & 0x0F))); | ||
338 | |||
339 | unregister_code(KC_LCTL); | ||
340 | unregister_code(KC_LSFT); | ||
341 | break; | ||
342 | case UC_MODE_OSX: | ||
343 | break; | ||
344 | } | ||
345 | } | ||
346 | |||
347 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
348 | if (!record->event.pressed) { | ||
349 | return MACRO_NONE; | ||
350 | } | ||
351 | // MACRODOWN only works in this function | ||
352 | switch(id) { | ||
353 | case UM: | ||
354 | unicode_mode = (unicode_mode + 1) % 2; | ||
355 | break; | ||
356 | |||
357 | |||
358 | default: | ||
359 | break; | ||
360 | } | ||
361 | return MACRO_NONE; | ||
362 | }; | ||
363 | |||
364 | // Runs just one time when the keyboard initializes. | ||
365 | void matrix_init_user(void) { | ||
366 | |||
367 | }; | ||
368 | |||
369 | // Runs constantly in the background, in a loop. | ||
370 | void matrix_scan_user(void) { | ||
371 | uint8_t layer = biton32(layer_state); | ||
372 | |||
373 | ergodox_board_led_off(); | ||
374 | ergodox_right_led_1_off(); | ||
375 | ergodox_right_led_2_off(); | ||
376 | ergodox_right_led_3_off(); | ||
377 | switch (layer) { | ||
378 | case L1: | ||
379 | ergodox_right_led_1_on(); | ||
380 | break; | ||
381 | case L2: | ||
382 | ergodox_right_led_2_on(); | ||
383 | break; | ||
384 | case L3: | ||
385 | ergodox_right_led_3_on(); | ||
386 | break; | ||
387 | case L4: | ||
388 | ergodox_right_led_1_on(); | ||
389 | ergodox_right_led_2_on(); | ||
390 | break; | ||
391 | case L5: | ||
392 | ergodox_right_led_1_on(); | ||
393 | ergodox_right_led_3_on(); | ||
394 | break; | ||
395 | // case L6: | ||
396 | // ergodox_right_led_2_on(); | ||
397 | // ergodox_right_led_3_on(); | ||
398 | // break; | ||
399 | // case L7: | ||
400 | // ergodox_right_led_1_on(); | ||
401 | // ergodox_right_led_2_on(); | ||
402 | // ergodox_right_led_3_on(); | ||
403 | // break; | ||
404 | default: | ||
405 | ergodox_board_led_off(); | ||
406 | break; | ||
407 | } | ||
408 | }; | ||
diff --git a/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md new file mode 100644 index 000000000..d9fcda966 --- /dev/null +++ b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md | |||
@@ -0,0 +1,194 @@ | |||
1 | # Neo2 for ErgoDox on QWERTZ | ||
2 | # | ||
3 | # Description | ||
4 | This layout is ment to be used on PCs with DE-de with an additional guest keyboard. E.g. on your PC at work you can use your ergodox with neo but a second keybord is plugged in so your coworkers can enter a few signs if necessary. I live in Germany, so this is my usecase. | ||
5 | # Layers | ||
6 | [Layer0](#layer-0) | ||
7 | Letters, modifiers and volume | ||
8 | |||
9 | [Layer1](#layer-1) | ||
10 | Symbols | ||
11 | |||
12 | [Layer2](#layer-2) | ||
13 | Motion, digits and next/prev Song | ||
14 | |||
15 | [Layer3](#layer-3) | ||
16 | F1 to F12 and mouse actions | ||
17 | |||
18 | [Layer4](#layer-4) | ||
19 | not used | ||
20 | |||
21 | [Layer5](#layer-5) | ||
22 | not used | ||
23 | |||
24 | [Layer6](#layer-6) | ||
25 | not used | ||
26 | |||
27 | |||
28 | ## Layer 0 | ||
29 | |||
30 | .------------------------------------.------------------------------------. | ||
31 | |ESC | 1 | 2 | 3 | 4 | 5 | ´ | ` | 6 | 7 | 8 | 9 | 0 | ^ | | ||
32 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
33 | |TAB | X | V | L | C | W |Print| | K | H | G | F | Q | ß | | ||
34 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
35 | |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | Y | | ||
36 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
37 | |LSFT | ü | ö | ä | P | Z |SPACE| | B | M | , | . | J |RSFT | | ||
38 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
39 | |LCTL|LGUI|LALT|MO(3)|MO(2)| !MO(2)|MO(3)|APP |RALT|RCTL| | ||
40 | '------------------------' '------------------------' | ||
41 | .-----------. .-----------. | ||
42 | |VOL- |VOL+ | !MUTE |PLAY | | ||
43 | .-----+-----+-----! !-----+-----+-----. | ||
44 | ! ! | | ! | ! ! | ||
45 | ! ! |-----| !-----| ! ! | ||
46 | ! CTL ! ! ALT ! ! CTL ! ! ALT ! | ||
47 | |ENTER|MO(1)| TAB | !ESC |MO(1)|SPACE| | ||
48 | '-----------------' '-----------------' | ||
49 | |||
50 | * Left side ESC, TAB, [SymbolLayer], Shift, Ctr, Gui(Windows key), and Alt like normal QWERTZ with neo2. | ||
51 | * Space on right side of left half for mous activity so you don't have to leave the mouse for Space. | ||
52 | * Top row of thumb keys is hard to reach for me, so I put media control on there. | ||
53 | * Thumb keys make use of modifier/tap. E.g. if you tap the Enter key it will be Enter. If you keep it pressed down it will be Ctr. The hold action is written on top of the tap action. | ||
54 | * The small middle thumb keys are not used, es well as the 1.5 sized ones on the left side of the right half. | ||
55 | |||
56 | |||
57 | ## Layer 1 | ||
58 | |||
59 | .------------------------------------.------------------------------------. | ||
60 | | | | | | | | | | | | | | | | | ||
61 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
62 | | | € | _ | [ | ] | | | | ! | < | > | = | & | | | ||
63 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
64 | | | \ | / | { | } | * |-----!-----! ? | ( | ) | - | : | @ | | ||
65 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
66 | | | # | $ | | | ~ | | | | + | % | " | ' | ; | | | ||
67 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
68 | | | | | | | ! | | | | | | ||
69 | '------------------------' '------------------------' | ||
70 | .-----------. .-----------. | ||
71 | | | | ! | | | ||
72 | .-----+-----+-----! !-----+-----+-----. | ||
73 | ! ! | | ! | ! ! | ||
74 | ! ! !-----! !-----! ! ! | ||
75 | | | | | ! | | | | ||
76 | '-----------------' '-----------------' | ||
77 | |||
78 | |||
79 | ## Layer 2 | ||
80 | |||
81 | .------------------------------------.------------------------------------. | ||
82 | | | | | | | | | | | | | | | | | ||
83 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
84 | | |PGUP|BSPC| UP |DEL |PGDN| | | | 7 | 8 | 9 | | | | ||
85 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
86 | | |HOME|LEFT|DOWN|RGHT|END |-----!-----! | 4 | 5 | 6 | | | | ||
87 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
88 | | | | |PREV|NEXT| | | | | 1 | 2 | 3 | | | | ||
89 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
90 | | | | | | | ! | | | | | | ||
91 | '------------------------' '------------------------' | ||
92 | .-----------. .-----------. | ||
93 | | | | ! | | | ||
94 | .-----+-----+-----! !-----+-----+-----. | ||
95 | ! ! | | ! | ! ! | ||
96 | ! ! !-----! !-----! ! ! | ||
97 | | | | | ! | | 0 | | ||
98 | '-----------------' '-----------------' | ||
99 | |||
100 | |||
101 | |||
102 | ## Layer 3 | ||
103 | |||
104 | .------------------------------------.------------------------------------. | ||
105 | | | F1 | F2 | F3 | F4 | F5 | F6 | | | | | | | | | ||
106 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
107 | | | F7 | F8 | F9 | F10| F11| F12 | | |M_WU|M_CU|M_WD| | | | ||
108 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
109 | |M_B5 |M_B4|M_B3|M_B2|M_B1| |-----!-----! |M_CL|M_CD|M_CR| | | | ||
110 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
111 | | | |M_A2|M_A1|M_A0| | | | | | | | | | | ||
112 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
113 | | | | | | | ! | | | | | | ||
114 | '------------------------' '------------------------' | ||
115 | .-----------. .-----------. | ||
116 | | | | ! | | | ||
117 | .-----+-----+-----! !-----+-----+-----. | ||
118 | ! ! | | ! | ! ! | ||
119 | ! ! !-----! !-----! ! ! | ||
120 | | | | | ! | | | | ||
121 | '-----------------' '-----------------' | ||
122 | * M_A Mouse acceleration | ||
123 | * M_B Mouse button | ||
124 | * M_C Mouse cursor | ||
125 | * M_W Mouse wheel | ||
126 | |||
127 | ## Layer 4 | ||
128 | |||
129 | |||
130 | |||
131 | .------------------------------------.------------------------------------. | ||
132 | | | | | | | | | | | | | | | | | ||
133 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
134 | | | | | | | | | | | | | | | | | ||
135 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
136 | | | | | | | |-----!-----! | | | | | | | ||
137 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
138 | | | | | | | | | | | | | | | | | ||
139 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
140 | | | | | | | ! | | | | | | ||
141 | '------------------------' '------------------------' | ||
142 | .-----------. .-----------. | ||
143 | | | | ! | | | ||
144 | .-----+-----+-----! !-----+-----+-----. | ||
145 | ! ! | | ! | ! ! | ||
146 | ! ! !-----! !-----! ! ! | ||
147 | | | | | ! | | | | ||
148 | '-----------------' '-----------------' | ||
149 | |||
150 | |||
151 | ## Layer 5 | ||
152 | |||
153 | |||
154 | .------------------------------------.------------------------------------. | ||
155 | | | | | | | | | | | | | | | | | ||
156 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
157 | | | | | | | | | | | | | | | | | ||
158 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
159 | | | | | | | |-----!-----! | | | | | | | ||
160 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
161 | | | | | | | | | | | | | | | | | ||
162 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
163 | | | | | | | ! | | | | | | ||
164 | '------------------------' '------------------------' | ||
165 | .-----------. .-----------. | ||
166 | | | | ! | | | ||
167 | .-----+-----+-----! !-----+-----+-----. | ||
168 | ! ! | | ! | ! ! | ||
169 | ! ! !-----! !-----! ! ! | ||
170 | | | | | ! | | | | ||
171 | '-----------------' '-----------------' | ||
172 | |||
173 | |||
174 | ## Layer 6 | ||
175 | |||
176 | .------------------------------------.------------------------------------. | ||
177 | | | | | | | | | | | | | | | | | ||
178 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
179 | | | | | | | | | | | | | | | | | ||
180 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
181 | | | | | | | |-----!-----! | | | | | | | ||
182 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
183 | | | | | | | | | | | | | | | | | ||
184 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
185 | | | | | | | ! | | | | | | ||
186 | '------------------------' '------------------------' | ||
187 | .-----------. .-----------. | ||
188 | | | | ! | | | ||
189 | .-----+-----+-----! !-----+-----+-----. | ||
190 | ! ! | | ! | ! ! | ||
191 | ! ! !-----! !-----! ! ! | ||
192 | | | | | ! | | | | ||
193 | '-----------------' '-----------------' | ||
194 | |||