diff options
Diffstat (limited to 'layouts/community/ergodox/pvinis/keymap.c')
-rw-r--r-- | layouts/community/ergodox/pvinis/keymap.c | 475 |
1 files changed, 475 insertions, 0 deletions
diff --git a/layouts/community/ergodox/pvinis/keymap.c b/layouts/community/ergodox/pvinis/keymap.c new file mode 100644 index 000000000..1bca0398d --- /dev/null +++ b/layouts/community/ergodox/pvinis/keymap.c | |||
@@ -0,0 +1,475 @@ | |||
1 | // pvinis' ergodox keymap | ||
2 | |||
3 | #include QMK_KEYBOARD_H | ||
4 | #include "mousekey.h" | ||
5 | |||
6 | // easier name for left ctrl-alt-gui | ||
7 | #define ALLM(kc) LCAG(kc) | ||
8 | |||
9 | // layers | ||
10 | enum { | ||
11 | BASE = 0, | ||
12 | BEGIN, | ||
13 | QWERTY, | ||
14 | CARPALX, | ||
15 | SYSCTL, | ||
16 | MOUSE, | ||
17 | }; | ||
18 | |||
19 | // extra keys | ||
20 | enum { | ||
21 | NONE = 0, | ||
22 | |||
23 | // tap dance | ||
24 | TD_FLSH, // flash keyboard | ||
25 | TD_LAYR, // SYSCTL and MOUSE layer switch | ||
26 | }; | ||
27 | |||
28 | // application selection | ||
29 | // this is sending ctrl-alt-gui-<key>, and this is picked up by hammerspoon | ||
30 | #define AP_SLCK ALLM(KC_S) | ||
31 | #define AP_XCOD ALLM(KC_X) | ||
32 | #define AP_MSGR ALLM(KC_M) | ||
33 | |||
34 | // keymaps | ||
35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
36 | /* BASE | ||
37 | * the base of the keyboard. | ||
38 | * | ||
39 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
40 | * |4x FLASH| | | | | | | | | | | | | | | | ||
41 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
42 | * | | | | | | | | | | | | | | | | | ||
43 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
44 | * | | | | | | |------| |------| | | | | | | | ||
45 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
46 | * | | | | | | | | | | | | | | | | | ||
47 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
48 | * | | | | | | |SYSCTL| | | | | | ||
49 | * `----------------------------------' `----------------------------------' | ||
50 | * ,-------------. ,-------------. | ||
51 | * |BEGIN |QWERTY| | | | | ||
52 | * ,------|------|------| |------+--------+------. | ||
53 | * | | |CARPAL| |Slack | | | | ||
54 | * |Backsp|LShift|------| |------| Enter |Space | | ||
55 | * | | |SYSCTL| |Msngr | | | | ||
56 | * `--------------------' `----------------------' | ||
57 | */ | ||
58 | [BASE] = LAYOUT_ergodox( | ||
59 | TD(TD_FLSH) ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
60 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
61 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
62 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
63 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
64 | |||
65 | ,TG(BEGIN) ,TD(TD_LAYR) | ||
66 | ,TG(MOUSE) | ||
67 | ,KC_BSPC ,KC_LSFT ,TD(TD_LAYR) | ||
68 | |||
69 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
70 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
71 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
72 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
73 | ,MO(SYSCTL) ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
74 | |||
75 | ,TG(SYSCTL) ,KC_NO | ||
76 | ,AP_SLCK | ||
77 | ,AP_MSGR ,KC_ENT ,KC_SPC | ||
78 | ), | ||
79 | |||
80 | /* BEGIN | ||
81 | * a beginner's keymap i currently use. | ||
82 | * | ||
83 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
84 | * | | 1 | 2 | 3 | 4 | 5 | opt | | 6 | 7 | 8 | 9 | 0 | - | = | | ||
85 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
86 | * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | | ||
87 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
88 | * |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | ; | Enter | | ||
89 | * |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------| | ||
90 | * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | | ||
91 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
92 | * | | ` | Cmd | | Cmd | | | | | ' | | | ||
93 | * `----------------------------------' `----------------------------------' | ||
94 | * ,-------------. ,-------------. | ||
95 | * | | | | | | | ||
96 | * ,------|------|------| |------+--------+------. | ||
97 | * | | | | | | | | | ||
98 | * | | |------| |------| | | | ||
99 | * | | | | | | | | | ||
100 | * `--------------------' `----------------------' | ||
101 | */ | ||
102 | [BEGIN] = LAYOUT_ergodox( | ||
103 | KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_LALT | ||
104 | ,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC | ||
105 | ,CTL_T(KC_ESC) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G | ||
106 | ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LPRN | ||
107 | ,KC_TRNS ,KC_GRV ,KC_LGUI ,KC_LEFT ,KC_RIGHT | ||
108 | |||
109 | ,KC_TRNS ,KC_TRNS | ||
110 | ,KC_TRNS | ||
111 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
112 | |||
113 | ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_EQL | ||
114 | ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS | ||
115 | ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT | ||
116 | ,KC_RPRN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT | ||
117 | ,KC_TRNS ,KC_DOWN ,KC_TRNS ,KC_QUOT ,KC_TRNS | ||
118 | |||
119 | ,KC_TRNS ,KC_TRNS | ||
120 | ,KC_TRNS | ||
121 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
122 | ), | ||
123 | |||
124 | /* QWERTY | ||
125 | * the default qwerty keymap. not really used, but i'll keep it here for now. | ||
126 | * | ||
127 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
128 | * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | | | ||
129 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
130 | * | | Q | W | E | R | T | | | | Y | U | I | O | P | | | ||
131 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
132 | * | | A | S | D | F | G |------| |------| H | J | K | L | ; | | | ||
133 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
134 | * | | Z | X | C | V | B | | | | N | M | , | . | / | | | ||
135 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
136 | * | | | | | | | | | | | | | ||
137 | * `----------------------------------' `----------------------------------' | ||
138 | * ,-------------. ,-------------. | ||
139 | * | | | | | | | ||
140 | * ,------|------|------| |------+--------+------. | ||
141 | * | | | | | | | | | ||
142 | * | | |------| |------| | | | ||
143 | * | | | | | | | | | ||
144 | * `--------------------' `----------------------' | ||
145 | */ | ||
146 | [QWERTY] = LAYOUT_ergodox( | ||
147 | KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_TRNS | ||
148 | ,KC_TRNS ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_TRNS | ||
149 | ,KC_TRNS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G | ||
150 | ,KC_TRNS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_TRNS | ||
151 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
152 | |||
153 | ,KC_TRNS ,KC_TRNS | ||
154 | ,KC_TRNS | ||
155 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
156 | |||
157 | ,KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_TRNS | ||
158 | ,KC_TRNS ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_TRNS | ||
159 | ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_TRNS | ||
160 | ,KC_TRNS ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_TRNS | ||
161 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
162 | |||
163 | ,KC_TRNS ,KC_TRNS | ||
164 | ,KC_TRNS | ||
165 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
166 | ), | ||
167 | |||
168 | /* CARPALX | ||
169 | * the keymap i would like to transition to. | ||
170 | * | ||
171 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
172 | * | | 1 | 2 | 3 | 4 | 5 | | | RIGHT| 6 | 7 | 8 | 9 | 0 | | | ||
173 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
174 | * | | Q | G | M | L | W | | | L1 | Y | F | U | B | ; | | | ||
175 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
176 | * | | D | S | T | N | R |------| |------| I | A | E | O | H | | | ||
177 | * |--------+------+------+------+------+------| | | Meh |------+------+------+------+------+--------| | ||
178 | * | | Z | X | C | V | J | | | | K | P | , | . | / | | | ||
179 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
180 | * | | | | | | | Up | | | | | | ||
181 | * `----------------------------------' `----------------------------------' | ||
182 | * ,-------------. ,-------------. | ||
183 | * | | | | | | | ||
184 | * ,------|------|------| |------+------+------. | ||
185 | * | | | | | | | | | ||
186 | * | | |------| |------| | | | ||
187 | * | | | | | | | | | ||
188 | * `--------------------' `--------------------' | ||
189 | */ | ||
190 | [CARPALX] = LAYOUT_ergodox( | ||
191 | KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_TRNS | ||
192 | ,KC_TRNS ,KC_Q ,KC_G ,KC_M ,KC_L ,KC_W ,KC_TRNS | ||
193 | ,KC_TRNS ,KC_D ,KC_S ,KC_T ,KC_N ,KC_R | ||
194 | ,KC_TRNS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_J ,KC_TRNS | ||
195 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
196 | |||
197 | ,KC_TRNS ,KC_TRNS | ||
198 | ,KC_TRNS | ||
199 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
200 | |||
201 | ,KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_TRNS | ||
202 | ,KC_TRNS ,KC_Y ,KC_F ,KC_U ,KC_B ,KC_SCLN ,KC_TRNS | ||
203 | ,KC_I ,KC_A ,KC_E ,KC_O ,KC_H ,KC_TRNS | ||
204 | ,KC_TRNS ,KC_K ,KC_P ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_TRNS | ||
205 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
206 | |||
207 | ,KC_TRNS ,KC_TRNS | ||
208 | ,KC_TRNS | ||
209 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
210 | ), | ||
211 | |||
212 | /* SYSCTL | ||
213 | * a keymap to control my system. | ||
214 | * | ||
215 | * ,--------------------------------------------------. ,------------------------------------------------------. | ||
216 | * | ^ | | | | | | | | | | | | | | | | ||
217 | * |--------+------+------+------+------+-------------| |------+------+------+----------+------+------+--------| | ||
218 | * | | | | | | | | | | Mute | Home | Up | End | | | | ||
219 | * |--------+------+------+------+------+------| | | |------+------+----------+------+------+--------| | ||
220 | * | | | | | | |------| |------|VolUp | Left | Down |Right | | Lock | | ||
221 | * |--------+------+------+------+------+------| | | |------+------+----------+------+------+--------| | ||
222 | * | | | | | | | | | |VolDn | Prev |Play/Pause| Next | | Sleep | | ||
223 | * `--------+------+------+------+------+-------------' `-------------+------+----------+------+------+--------' | ||
224 | * | | | | | | | | | | | Power| | ||
225 | * `----------------------------------' `--------------------------------------' | ||
226 | * ,-------------. ,-------------. | ||
227 | * | | | | | | | ||
228 | * ,------|------|------| |------+------+------. | ||
229 | * | | | | | | | | | ||
230 | * | | |------| |------| | | | ||
231 | * | | | ^ | | | | | | ||
232 | * `--------------------' `--------------------' | ||
233 | */ | ||
234 | [SYSCTL] = LAYOUT_ergodox( | ||
235 | KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
236 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
237 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
238 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
239 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
240 | |||
241 | ,KC_NO ,KC_NO | ||
242 | ,KC_NO | ||
243 | ,KC_NO ,KC_NO ,KC_TRNS | ||
244 | |||
245 | /*,KC_POP /// */,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
246 | /* /// ,KC_PTRN*/,KC_NO ,KC_MUTE ,KC_HOME ,KC_UP ,KC_END ,KC_NO ,KC_NO | ||
247 | ,KC_VOLU ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_NO ,LCTL(LSFT(KC_PWR)) | ||
248 | ,KC_NO ,KC_VOLD ,KC_MPRV ,KC_MPLY ,KC_MNXT ,KC_NO ,KC_SLEP | ||
249 | ,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_PWR | ||
250 | |||
251 | ,KC_NO ,KC_NO | ||
252 | ,KC_NO | ||
253 | ,KC_NO ,KC_NO ,KC_NO | ||
254 | ), | ||
255 | |||
256 | /* MOUSE | ||
257 | * a keymap to control my system. | ||
258 | * | ||
259 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
260 | * | ^ | | | | | | | | | | | | | | | | ||
261 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
262 | * | | | | | | | | | | | | MsUp | | | | | ||
263 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
264 | * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | | | ||
265 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
266 | * | | | | | | | | | | | | | | | | | ||
267 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
268 | * | | | | | | | | | | | | | ||
269 | * `----------------------------------' `----------------------------------' | ||
270 | * ,-------------. ,-------------. | ||
271 | * | | | | |MidClk| | ||
272 | * ,------|------|------| |------+------+------. | ||
273 | * | | | | | |Left |Right | | ||
274 | * | | |------| |------| Click| Click| | ||
275 | * | | | ^ | | | | | | ||
276 | * `--------------------' `--------------------' | ||
277 | */ | ||
278 | [MOUSE] = LAYOUT_ergodox( | ||
279 | KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
280 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
281 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
282 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
283 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
284 | |||
285 | ,KC_NO ,KC_NO | ||
286 | ,KC_NO | ||
287 | ,KC_NO ,KC_NO ,KC_TRNS | ||
288 | |||
289 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
290 | ,KC_NO ,KC_NO ,KC_NO ,KC_MS_U ,KC_NO ,KC_NO ,KC_NO | ||
291 | ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_NO ,KC_NO | ||
292 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
293 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
294 | |||
295 | ,KC_NO ,KC_NO | ||
296 | ,KC_NO | ||
297 | ,KC_NO ,KC_NO ,KC_NO | ||
298 | ), | ||
299 | |||
300 | /* TEMPLATE | ||
301 | * keymap template with transparent and non-transparent keys | ||
302 | * | ||
303 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
304 | * | | | | | | | | | | | | | | | | | ||
305 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
306 | * | | | | | | | | | | | | | | | | | ||
307 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
308 | * | | | | | | |------| |------| | | | | | | | ||
309 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
310 | * | | | | | | | | | | | | | | | | | ||
311 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
312 | * | | | | | | | | | | | | | ||
313 | * `----------------------------------' `----------------------------------' | ||
314 | * ,-------------. ,-------------. | ||
315 | * | | | | | | | ||
316 | * ,------|------|------| |------+--------+------. | ||
317 | * | | | | | | | | | ||
318 | * | | |------| |------| | | | ||
319 | * | | | | | | | | | ||
320 | * `--------------------' `----------------------' | ||
321 | */ | ||
322 | /* | ||
323 | [TEMPLATE] = LAYOUT_ergodox( | ||
324 | KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
325 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
326 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
327 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
328 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
329 | |||
330 | ,KC_TRNS ,KC_TRNS | ||
331 | ,KC_TRNS | ||
332 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
333 | |||
334 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
335 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
336 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
337 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
338 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
339 | |||
340 | ,KC_TRNS ,KC_TRNS | ||
341 | ,KC_TRNS | ||
342 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
343 | ), | ||
344 | [TEMPLATE] = LAYOUT_ergodox( | ||
345 | KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
346 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
347 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
348 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
349 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
350 | |||
351 | ,KC_NO ,KC_NO | ||
352 | ,KC_NO | ||
353 | ,KC_NO ,KC_NO ,KC_NO | ||
354 | |||
355 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
356 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
357 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
358 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
359 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
360 | |||
361 | ,KC_NO ,KC_NO | ||
362 | ,KC_NO | ||
363 | ,KC_NO ,KC_NO ,KC_NO | ||
364 | ), | ||
365 | */ | ||
366 | }; | ||
367 | |||
368 | // keyboard initialization | ||
369 | void matrix_init_user() { | ||
370 | ergodox_led_all_on(); | ||
371 | for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { | ||
372 | ergodox_led_all_set(i); | ||
373 | wait_ms(5); | ||
374 | } | ||
375 | wait_ms(1000); | ||
376 | for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { | ||
377 | ergodox_led_all_set(i); | ||
378 | wait_ms(10); | ||
379 | } | ||
380 | ergodox_led_all_off(); | ||
381 | } | ||
382 | |||
383 | // light up leds based on the layer | ||
384 | void matrix_scan_user(void) { | ||
385 | uint8_t layer = biton32(layer_state); | ||
386 | |||
387 | switch(layer) { | ||
388 | case SYSCTL: | ||
389 | ergodox_right_led_3_on(); | ||
390 | break; | ||
391 | case MOUSE: | ||
392 | ergodox_right_led_2_on(); | ||
393 | break; | ||
394 | default: | ||
395 | ergodox_right_led_1_off(); | ||
396 | ergodox_right_led_2_off(); | ||
397 | ergodox_right_led_3_off(); | ||
398 | break; | ||
399 | } | ||
400 | } | ||
401 | |||
402 | // extra keys | ||
403 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
404 | switch (id) { | ||
405 | } | ||
406 | return MACRO_NONE; | ||
407 | } | ||
408 | |||
409 | // tap dances | ||
410 | |||
411 | // flash keyboard on 4x tap, with leds | ||
412 | void flash_each_tap(qk_tap_dance_state_t *state, void *user_data) { | ||
413 | switch (state->count) { | ||
414 | case 1: | ||
415 | ergodox_right_led_3_on(); | ||
416 | break; | ||
417 | case 2: | ||
418 | ergodox_right_led_2_on(); | ||
419 | break; | ||
420 | case 3: | ||
421 | ergodox_right_led_1_on(); | ||
422 | break; | ||
423 | case 4: | ||
424 | ergodox_right_led_3_off(); | ||
425 | wait_ms(50); | ||
426 | ergodox_right_led_2_off(); | ||
427 | wait_ms(50); | ||
428 | ergodox_right_led_1_off(); | ||
429 | break; | ||
430 | } | ||
431 | } | ||
432 | |||
433 | void flash_dance_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
434 | if (state->count >= 4) { | ||
435 | reset_keyboard(); | ||
436 | reset_tap_dance(state); | ||
437 | } | ||
438 | } | ||
439 | |||
440 | void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
441 | ergodox_right_led_1_off(); | ||
442 | wait_ms(50); | ||
443 | ergodox_right_led_2_off(); | ||
444 | wait_ms(50); | ||
445 | ergodox_right_led_3_off(); | ||
446 | } | ||
447 | |||
448 | // SYSCTL on first tap, MOUSE ON second tap | ||
449 | void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
450 | uint8_t layer = biton32(layer_state); | ||
451 | |||
452 | switch(state->count) { | ||
453 | case 1: | ||
454 | switch(layer) { | ||
455 | case SYSCTL: | ||
456 | layer_off(SYSCTL); | ||
457 | break; | ||
458 | case MOUSE: | ||
459 | layer_off(MOUSE); | ||
460 | break; | ||
461 | default: | ||
462 | layer_on(SYSCTL); | ||
463 | break; | ||
464 | } | ||
465 | break; | ||
466 | case 2: | ||
467 | layer_on(MOUSE); | ||
468 | break; | ||
469 | } | ||
470 | } | ||
471 | |||
472 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
473 | [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ), | ||
474 | [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ), | ||
475 | }; | ||