diff options
Diffstat (limited to 'keyboards/sofle/keymaps/choc/keymap.c')
-rw-r--r-- | keyboards/sofle/keymaps/choc/keymap.c | 422 |
1 files changed, 422 insertions, 0 deletions
diff --git a/keyboards/sofle/keymaps/choc/keymap.c b/keyboards/sofle/keymaps/choc/keymap.c new file mode 100644 index 000000000..f1e7a4d0d --- /dev/null +++ b/keyboards/sofle/keymaps/choc/keymap.c | |||
@@ -0,0 +1,422 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | enum sofle_layers { | ||
4 | /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */ | ||
5 | _QWERTY, | ||
6 | _COLEMAK, | ||
7 | _LOWER, | ||
8 | _RAISE, | ||
9 | _ADJUST, | ||
10 | }; | ||
11 | |||
12 | enum custom_keycodes { | ||
13 | KC_QWERTY = SAFE_RANGE, | ||
14 | KC_COLEMAK, | ||
15 | KC_LOWER, | ||
16 | KC_RAISE, | ||
17 | KC_ADJUST, | ||
18 | KC_PRVWD, | ||
19 | KC_NXTWD, | ||
20 | KC_LSTRT, | ||
21 | KC_LEND, | ||
22 | KC_DLINE | ||
23 | }; | ||
24 | |||
25 | |||
26 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
27 | /* | ||
28 | * QWERTY | ||
29 | * ,-----------------------------------------. ,-----------------------------------------. | ||
30 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | | ||
31 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
32 | * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc | | ||
33 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
34 | * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | | ||
35 | * |------+------+------+------+------+------| | | |------+------+------+------+------+------| | ||
36 | * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| | ||
37 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
38 | * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | | ||
39 | * | | | | |/ / \ \ | | | | | | ||
40 | * `----------------------------------' '------''---------------------------' | ||
41 | */ | ||
42 | |||
43 | [_QWERTY] = LAYOUT( \ | ||
44 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, \ | ||
45 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ | ||
46 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ | ||
47 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ | ||
48 | KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI \ | ||
49 | ), | ||
50 | /* | ||
51 | * COLEMAK | ||
52 | * ,-----------------------------------------. ,-----------------------------------------. | ||
53 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | | ||
54 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
55 | * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc | | ||
56 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
57 | * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | | ||
58 | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| | ||
59 | * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift| | ||
60 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
61 | * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | | ||
62 | * | | | | |/ / \ \ | | | | | | ||
63 | * `----------------------------------' '------''---------------------------' | ||
64 | */ | ||
65 | |||
66 | [_COLEMAK] = LAYOUT( \ | ||
67 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, \ | ||
68 | KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \ | ||
69 | KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ | ||
70 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ | ||
71 | KC_LGUI, KC_LALT, KC_LCTRL, KC_LOWER, KC_ENT, KC_SPC, KC_RAISE,KC_RCTRL, KC_RALT, KC_RGUI \ | ||
72 | ), | ||
73 | /* LOWER | ||
74 | * ,-----------------------------------------. ,-----------------------------------------. | ||
75 | * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | | ||
76 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
77 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | | ||
78 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
79 | * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | | ||
80 | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| | ||
81 | * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift| | ||
82 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
83 | * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | | ||
84 | * | | | | |/ / \ \ | | | | | | ||
85 | * `----------------------------------' '------''---------------------------' | ||
86 | */ | ||
87 | [_LOWER] = LAYOUT( \ | ||
88 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,\ | ||
89 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, \ | ||
90 | _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \ | ||
91 | _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, \ | ||
92 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\ | ||
93 | ), | ||
94 | /* RAISE | ||
95 | * ,----------------------------------------. ,-----------------------------------------. | ||
96 | * | | | | | | | | | | | | | | | ||
97 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
98 | * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc | | ||
99 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
100 | * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc | | ||
101 | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| | ||
102 | * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift| | ||
103 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
104 | * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | | ||
105 | * | | | | |/ / \ \ | | | | | | ||
106 | * `----------------------------------' '------''---------------------------' | ||
107 | */ | ||
108 | [_RAISE] = LAYOUT( \ | ||
109 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , _______, \ | ||
110 | _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD, KC_DLINE, KC_BSPC, \ | ||
111 | _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, \ | ||
112 | _______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \ | ||
113 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
114 | ), | ||
115 | /* ADJUST | ||
116 | * ,-----------------------------------------. ,-----------------------------------------. | ||
117 | * | | | | | | | | | | | | | | | ||
118 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
119 | * | RESET| |QWERTY|COLEMAK| | | | | | | | | | | ||
120 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
121 | * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | | | ||
122 | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| | ||
123 | * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | | | ||
124 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
125 | * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | | ||
126 | * | | | | |/ / \ \ | | | | | | ||
127 | * `----------------------------------' '------''---------------------------' | ||
128 | */ | ||
129 | [_ADJUST] = LAYOUT( \ | ||
130 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
131 | RESET, XXXXXXX, KC_QWERTY, KC_COLEMAK, CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
132 | XXXXXXX, XXXXXXX, CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, \ | ||
133 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, \ | ||
134 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
135 | ) | ||
136 | }; | ||
137 | |||
138 | #ifdef RGB_MATRIX_ENABLE | ||
139 | |||
140 | led_config_t g_led_config = { { | ||
141 | // Key Matrix to LED Index | ||
142 | { 28, 21, 20, 11, 10, 0 }, | ||
143 | { 27, 22, 19, 12, 9, 1 }, | ||
144 | { 26, 23, 18, 13, 8, 2 }, | ||
145 | { 25, 24, 17, 14, 7, 3 }, | ||
146 | { 16, 15, 6, 5, 4, NO_LED } | ||
147 | }, { | ||
148 | // LED Index to Physical Position | ||
149 | { 195, 7 },{ 195, 21 },{ 195, 36 },{ 195, 50 },{ 224, 64 }, | ||
150 | { 185, 62 },{ 146, 60 },{ 156, 48 },{ 156, 33 },{ 156, 19 }, | ||
151 | { 156, 5 },{ 117, 3 },{ 117, 17 },{ 117, 31 },{ 117, 46 }, | ||
152 | { 107, 62 },{ 68, 64 },{ 78, 48 },{ 78, 33 },{ 78, 19 }, | ||
153 | { 78, 5 },{ 39, 7 },{ 39, 21 },{ 39, 36 },{ 39, 50 }, | ||
154 | { 0, 50 },{ 0, 36 },{ 0, 21 },{ 0, 7 } | ||
155 | }, { | ||
156 | // LED Index to Flag | ||
157 | 1, 1, 1, 1, 1, | ||
158 | 1, 1, 1, 1, 1, | ||
159 | 1, 1, 1, 1, 1, | ||
160 | 1, 1, 1, 1, 1, | ||
161 | 1, 1, 1, 1, 1, | ||
162 | 1, 1, 1, 1 | ||
163 | } }; | ||
164 | |||
165 | #endif | ||
166 | |||
167 | #ifdef OLED_DRIVER_ENABLE | ||
168 | |||
169 | static void render_logo(void) { | ||
170 | static const char PROGMEM qmk_logo[] = { | ||
171 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | ||
172 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | ||
173 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0 | ||
174 | }; | ||
175 | |||
176 | oled_write_P(qmk_logo, false); | ||
177 | } | ||
178 | |||
179 | static void print_status_narrow(void) { | ||
180 | // Print current mode | ||
181 | oled_write_P(PSTR("\n\n"), false); | ||
182 | oled_write_ln_P(PSTR("MODE"), false); | ||
183 | oled_write_ln_P(PSTR(""), false); | ||
184 | if (keymap_config.swap_lctl_lgui) { | ||
185 | oled_write_ln_P(PSTR("MAC"), false); | ||
186 | } else { | ||
187 | oled_write_ln_P(PSTR("WIN"), false); | ||
188 | } | ||
189 | |||
190 | switch (get_highest_layer(default_layer_state)) { | ||
191 | case _QWERTY: | ||
192 | oled_write_ln_P(PSTR("Qwrt"), false); | ||
193 | break; | ||
194 | case _COLEMAK: | ||
195 | oled_write_ln_P(PSTR("Clmk"), false); | ||
196 | break; | ||
197 | default: | ||
198 | oled_write_P(PSTR("Undef"), false); | ||
199 | } | ||
200 | oled_write_P(PSTR("\n\n"), false); | ||
201 | // Print current layer | ||
202 | oled_write_ln_P(PSTR("LAYER"), false); | ||
203 | switch (get_highest_layer(layer_state)) { | ||
204 | case _COLEMAK: | ||
205 | case _QWERTY: | ||
206 | oled_write_P(PSTR("Base\n"), false); | ||
207 | break; | ||
208 | case _RAISE: | ||
209 | oled_write_P(PSTR("Raise"), false); | ||
210 | break; | ||
211 | case _LOWER: | ||
212 | oled_write_P(PSTR("Lower"), false); | ||
213 | break; | ||
214 | case _ADJUST: | ||
215 | oled_write_P(PSTR("Adj\n"), false); | ||
216 | break; | ||
217 | default: | ||
218 | oled_write_ln_P(PSTR("Undef"), false); | ||
219 | } | ||
220 | oled_write_P(PSTR("\n\n"), false); | ||
221 | led_t led_usb_state = host_keyboard_led_state(); | ||
222 | oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); | ||
223 | } | ||
224 | |||
225 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
226 | if (is_keyboard_master()) { | ||
227 | return OLED_ROTATION_270; | ||
228 | } | ||
229 | return rotation; | ||
230 | } | ||
231 | |||
232 | void oled_task_user(void) { | ||
233 | if (is_keyboard_master()) { | ||
234 | print_status_narrow(); | ||
235 | } else { | ||
236 | render_logo(); | ||
237 | } | ||
238 | } | ||
239 | |||
240 | #endif | ||
241 | |||
242 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
243 | switch (keycode) { | ||
244 | case KC_QWERTY: | ||
245 | if (record->event.pressed) { | ||
246 | set_single_persistent_default_layer(_QWERTY); | ||
247 | } | ||
248 | return false; | ||
249 | case KC_COLEMAK: | ||
250 | if (record->event.pressed) { | ||
251 | set_single_persistent_default_layer(_COLEMAK); | ||
252 | } | ||
253 | return false; | ||
254 | case KC_LOWER: | ||
255 | if (record->event.pressed) { | ||
256 | layer_on(_LOWER); | ||
257 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
258 | } else { | ||
259 | layer_off(_LOWER); | ||
260 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
261 | } | ||
262 | return false; | ||
263 | case KC_RAISE: | ||
264 | if (record->event.pressed) { | ||
265 | layer_on(_RAISE); | ||
266 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
267 | } else { | ||
268 | layer_off(_RAISE); | ||
269 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
270 | } | ||
271 | return false; | ||
272 | case KC_ADJUST: | ||
273 | if (record->event.pressed) { | ||
274 | layer_on(_ADJUST); | ||
275 | } else { | ||
276 | layer_off(_ADJUST); | ||
277 | } | ||
278 | return false; | ||
279 | case KC_PRVWD: | ||
280 | if (record->event.pressed) { | ||
281 | if (keymap_config.swap_lctl_lgui) { | ||
282 | register_mods(mod_config(MOD_LALT)); | ||
283 | register_code(KC_LEFT); | ||
284 | } else { | ||
285 | register_mods(mod_config(MOD_LCTL)); | ||
286 | register_code(KC_LEFT); | ||
287 | } | ||
288 | } else { | ||
289 | if (keymap_config.swap_lctl_lgui) { | ||
290 | unregister_mods(mod_config(MOD_LALT)); | ||
291 | unregister_code(KC_LEFT); | ||
292 | } else { | ||
293 | unregister_mods(mod_config(MOD_LCTL)); | ||
294 | unregister_code(KC_LEFT); | ||
295 | } | ||
296 | } | ||
297 | break; | ||
298 | case KC_NXTWD: | ||
299 | if (record->event.pressed) { | ||
300 | if (keymap_config.swap_lctl_lgui) { | ||
301 | register_mods(mod_config(MOD_LALT)); | ||
302 | register_code(KC_RIGHT); | ||
303 | } else { | ||
304 | register_mods(mod_config(MOD_LCTL)); | ||
305 | register_code(KC_RIGHT); | ||
306 | } | ||
307 | } else { | ||
308 | if (keymap_config.swap_lctl_lgui) { | ||
309 | unregister_mods(mod_config(MOD_LALT)); | ||
310 | unregister_code(KC_RIGHT); | ||
311 | } else { | ||
312 | unregister_mods(mod_config(MOD_LCTL)); | ||
313 | unregister_code(KC_RIGHT); | ||
314 | } | ||
315 | } | ||
316 | break; | ||
317 | case KC_LSTRT: | ||
318 | if (record->event.pressed) { | ||
319 | if (keymap_config.swap_lctl_lgui) { | ||
320 | //CMD-arrow on Mac, but we have CTL and GUI swapped | ||
321 | register_mods(mod_config(MOD_LCTL)); | ||
322 | register_code(KC_LEFT); | ||
323 | } else { | ||
324 | register_code(KC_HOME); | ||
325 | } | ||
326 | } else { | ||
327 | if (keymap_config.swap_lctl_lgui) { | ||
328 | unregister_mods(mod_config(MOD_LCTL)); | ||
329 | unregister_code(KC_LEFT); | ||
330 | } else { | ||
331 | unregister_code(KC_HOME); | ||
332 | } | ||
333 | } | ||
334 | break; | ||
335 | case KC_LEND: | ||
336 | if (record->event.pressed) { | ||
337 | if (keymap_config.swap_lctl_lgui) { | ||
338 | //CMD-arrow on Mac, but we have CTL and GUI swapped | ||
339 | register_mods(mod_config(MOD_LCTL)); | ||
340 | register_code(KC_RIGHT); | ||
341 | } else { | ||
342 | register_code(KC_END); | ||
343 | } | ||
344 | } else { | ||
345 | if (keymap_config.swap_lctl_lgui) { | ||
346 | unregister_mods(mod_config(MOD_LCTL)); | ||
347 | unregister_code(KC_RIGHT); | ||
348 | } else { | ||
349 | unregister_code(KC_END); | ||
350 | } | ||
351 | } | ||
352 | break; | ||
353 | case KC_DLINE: | ||
354 | if (record->event.pressed) { | ||
355 | register_mods(mod_config(MOD_LCTL)); | ||
356 | register_code(KC_BSPC); | ||
357 | } else { | ||
358 | unregister_mods(mod_config(MOD_LCTL)); | ||
359 | unregister_code(KC_BSPC); | ||
360 | } | ||
361 | break; | ||
362 | case KC_COPY: | ||
363 | if (record->event.pressed) { | ||
364 | register_mods(mod_config(MOD_LCTL)); | ||
365 | register_code(KC_C); | ||
366 | } else { | ||
367 | unregister_mods(mod_config(MOD_LCTL)); | ||
368 | unregister_code(KC_C); | ||
369 | } | ||
370 | return false; | ||
371 | case KC_PASTE: | ||
372 | if (record->event.pressed) { | ||
373 | register_mods(mod_config(MOD_LCTL)); | ||
374 | register_code(KC_V); | ||
375 | } else { | ||
376 | unregister_mods(mod_config(MOD_LCTL)); | ||
377 | unregister_code(KC_V); | ||
378 | } | ||
379 | return false; | ||
380 | case KC_CUT: | ||
381 | if (record->event.pressed) { | ||
382 | register_mods(mod_config(MOD_LCTL)); | ||
383 | register_code(KC_X); | ||
384 | } else { | ||
385 | unregister_mods(mod_config(MOD_LCTL)); | ||
386 | unregister_code(KC_X); | ||
387 | } | ||
388 | return false; | ||
389 | break; | ||
390 | case KC_UNDO: | ||
391 | if (record->event.pressed) { | ||
392 | register_mods(mod_config(MOD_LCTL)); | ||
393 | register_code(KC_Z); | ||
394 | } else { | ||
395 | unregister_mods(mod_config(MOD_LCTL)); | ||
396 | unregister_code(KC_Z); | ||
397 | } | ||
398 | return false; | ||
399 | } | ||
400 | return true; | ||
401 | } | ||
402 | |||
403 | #ifdef ENCODER_ENABLE | ||
404 | |||
405 | bool encoder_update_kb(uint8_t index, bool clockwise) { | ||
406 | if (index == 0) { | ||
407 | if (clockwise) { | ||
408 | tap_code(KC_VOLD); | ||
409 | } else { | ||
410 | tap_code(KC_VOLU); | ||
411 | } | ||
412 | } else if (index == 1) { | ||
413 | if (clockwise) { | ||
414 | tap_code(KC_PGDOWN); | ||
415 | } else { | ||
416 | tap_code(KC_PGUP); | ||
417 | } | ||
418 | } | ||
419 | return true; | ||
420 | } | ||
421 | |||
422 | #endif | ||