summaryrefslogtreecommitdiff
path: root/keyboards/sofle/keymaps/devdev/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/sofle/keymaps/devdev/keymap.c')
-rw-r--r--keyboards/sofle/keymaps/devdev/keymap.c573
1 files changed, 0 insertions, 573 deletions
diff --git a/keyboards/sofle/keymaps/devdev/keymap.c b/keyboards/sofle/keymaps/devdev/keymap.c
deleted file mode 100644
index 9453c54614..0000000000
--- a/keyboards/sofle/keymaps/devdev/keymap.c
+++ /dev/null
@@ -1,573 +0,0 @@
1
2 /* Copyright 2021 Dane Evans
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * 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/>.
16 */
17 // SOFLE RGB
18#include <stdio.h>
19
20#include QMK_KEYBOARD_H
21
22#define INDICATOR_BRIGHTNESS 30
23
24#define HSV_OVERRIDE_HELP(h, s, v, Override) h, s , Override
25#define HSV_OVERRIDE(hsv, Override) HSV_OVERRIDE_HELP(hsv,Override)
26
27// Light combinations
28#define SET_INDICATORS(hsv) \
29 {0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \
30 {35+0, 1, hsv}
31#define SET_UNDERGLOW(hsv) \
32 {1, 5, hsv}, \
33 {35+1, 5,hsv}
34#define SET_NUMPAD(hsv) \
35 {35+15, 5, hsv},\
36 {35+22, 3, hsv},\
37 {35+27, 3, hsv}
38#define SET_NUMROW(hsv) \
39 {10, 2, hsv}, \
40 {20, 2, hsv}, \
41 {30, 2, hsv}, \
42 {35+ 10, 2, hsv}, \
43 {35+ 20, 2, hsv}, \
44 {35+ 30, 2, hsv}
45#define SET_INNER_COL(hsv) \
46 {33, 4, hsv}, \
47 {35+ 33, 4, hsv}
48
49#define SET_OUTER_COL(hsv) \
50 {7, 4, hsv}, \
51 {35+ 7, 4, hsv}
52#define SET_THUMB_CLUSTER(hsv) \
53 {25, 2, hsv}, \
54 {35+ 25, 2, hsv}
55#define SET_LAYER_ID(hsv) \
56 {0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \
57 {35+0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \
58 {1, 5, hsv}, \
59 {35+1, 5, hsv}, \
60 {7, 4, hsv}, \
61 {35+ 7, 4, hsv}, \
62 {25, 2, hsv}, \
63 {35+ 25, 2, hsv}
64
65
66enum sofle_layers {
67 _DEFAULTS = 0,
68 _QWERTY = 0,
69 _COLEMAK,
70 _COLEMAKDH,
71 _LOWER,
72 _RAISE,
73 _ADJUST,
74 _NUMPAD,
75 _SWITCH
76};
77
78enum custom_keycodes {
79 KC_QWERTY = SAFE_RANGE,
80 KC_COLEMAK,
81 KC_COLEMAKDH,
82 KC_LOWER,
83 KC_RAISE,
84 KC_ADJUST,
85 KC_D_MUTE
86};
87
88const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
89/*
90 * QWERTY
91 * ,-----------------------------------------. ,-----------------------------------------.
92 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
93 * |------+------+------+------+------+------| |------+------+------+------+------+------|
94 * | TAB | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
95 * |------+------+------+------+------+------| |------+------+------+------+------+------|
96 * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
97 * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------|
98 * | LCTR | Z | X | C | V | B |-------| |-------| N | M | , | . | / |LShift|
99 * `-----------------------------------------/ / \ \-----------------------------------------'
100 * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
101 * | | | | |/ / \ \ | | | | |
102 * `----------------------------------' '------''---------------------------'
103 */
104 [_QWERTY] = LAYOUT(
105 //,------------------------------------------------. ,---------------------------------------------------.
106 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_GRV,
107 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
108 LT(_NUMPAD,KC_TAB),KC_Q,KC_W,KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
109 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
110 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
111 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
112 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_D_MUTE,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
113 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
114 KC_BSPC, KC_LGUI, KC_LOWER, KC_SPC, KC_ENT , KC_SPC, KC_ENT , KC_RAISE, KC_RCTL, KC_RALT
115 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
116),
117
118/*
119 * COLEMAK
120 * ,-----------------------------------------. ,-----------------------------------------.
121 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
122 * |------+------+------+------+------+------| |------+------+------+------+------+------|
123 * | TAB | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
124 * |------+------+------+------+------+------| |------+------+------+------+------+------|
125 * |LShift| A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
126 * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------|
127 * | LCTR | Z | X | C | V | B |-------| |-------| K | M | , | . | / |LShift|
128 * `-----------------------------------------/ / \ \-----------------------------------------'
129 * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
130 * | | | | |/ / \ \ | | | | |
131 * `----------------------------------' '------''---------------------------'
132 */
133[_COLEMAK] = LAYOUT(
134 //,------------------------------------------------. ,---------------------------------------------------.
135 KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_TRNS,
136 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
137 KC_TRNS, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TRNS,
138 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
139 KC_TRNS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_TRNS,
140 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
141 KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS, KC_TRNS,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
142 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
143 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
144 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
145),
146
147/*
148 * COLEMAK-DH
149 * ,-----------------------------------------. ,-----------------------------------------.
150 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
151 * |------+------+------+------+------+------| |------+------+------+------+------+------|
152 * | TAB | Q | W | F | P | B | | J | L | U | Y | ; | Bspc |
153 * |------+------+------+------+------+------| |------+------+------+------+------+------|
154 * |LShift| A | R | S | T | G |-------. ,-------| M | N | E | I | O | ' |
155 * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------|
156 * | LCTR | Z | X | C | D | V |-------| |-------| K | H | , | . | / |LShift|
157 * `-----------------------------------------/ / \ \-----------------------------------------'
158 * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
159 * | | | | |/ / \ \ | | | | |
160 * `----------------------------------' '------''---------------------------'
161 */
162[_COLEMAKDH] = LAYOUT(
163 //,------------------------------------------------. ,---------------------------------------------------.
164 KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_TRNS,
165 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
166 KC_TRNS, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TRNS,
167 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
168 KC_TRNS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_TRNS,
169 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
170 KC_TRNS, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_TRNS, KC_TRNS,KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
171 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
172 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
173 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
174),
175
176/* LOWER
177 * ,-----------------------------------------. ,-----------------------------------------.
178 * | trans| F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
179 * |------+------+------+------+------+------| |------+------+------+------+------+------|
180 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
181 * |------+------+------+------+------+------| |------+------+------+------+------+------|
182 * | trans| ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
183 * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
184 * | trans| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
185 * `-----------------------------------------/ / \ \-----------------------------------------'
186 * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
187 * | | | | |/ / \ \ | | | | |
188 * `----------------------------------' '------''---------------------------'
189 */
190[_LOWER] = LAYOUT(
191 //,------------------------------------------------. ,---------------------------------------------------.
192 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
193 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
194 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
195 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
196 _______, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_PGUP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_DEL,
197 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
198 _______, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_PGDN,_______, _______,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
199 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
200 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
201 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
202),
203/* RAISE
204 * ,----------------------------------------. ,-----------------------------------------.
205 * | | | | | | | | | | | | | |
206 * |------+------+------+------+------+------| |------+------+------+------+------+------|
207 * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc |
208 * |------+------+------+------+------+------| |------+------+------+------+------+------|
209 * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
210 * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
211 * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
212 * `-----------------------------------------/ / \ \-----------------------------------------'
213 * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
214 * | | | | |/ / \ \ | | | | |
215 * `----------------------------------' '------''---------------------------'
216 */
217[_RAISE] = LAYOUT(
218 //,------------------------------------------------. ,---------------------------------------------------.
219 _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
220 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
221 _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_CIRC, KC_AMPR,KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
222 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
223 _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
224 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
225 _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX,_______, _______,KC_UNDS, KC_PLUS,KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
226 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
227 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
228 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
229),
230/* ADJUST
231 * ,-----------------------------------------. ,-----------------------------------------.
232 * | | | | | | | | | | | | | |
233 * |------+------+------+------+------+------| |------+------+------+------+------+------|
234 * | QK_BOOT| | | | | | | | | | | | |
235 * |------+------+------+------+------+------| |------+------+------+------+------+------|
236 * |RGB_TOG|hue^ |sat ^ | bri ^| |COLEMAK|-------. ,-------|desk <| | |desk >| | |
237 * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
238 * | mode | hue dn|sat d|bri dn| |QWERTY|-------| |-------| | PREV | PLAY | NEXT | | |
239 * `-----------------------------------------/ / \ \-----------------------------------------'
240 * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
241 * | | | | |/ / \ \ | | | | |
242 * `----------------------------------' '------''---------------------------'
243 */
244 [_ADJUST] = LAYOUT(
245 //,------------------------------------------------. ,---------------------------------------------------.
246 EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
247 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
248 QK_BOOT, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
249 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
250 RGB_TOG, RGB_HUI,RGB_SAI, RGB_VAI, KC_COLEMAKDH,KC_COLEMAK, C(G(KC_LEFT)),KC_NO,KC_NO,C(G(KC_RGHT)),XXXXXXX, XXXXXXX,
251 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
252 RGB_MOD, RGB_HUD,RGB_SAD, RGB_VAD, XXXXXXX,KC_QWERTY,XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
253 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
254 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
255 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
256),
257/* NUMPAD
258 * ,-----------------------------------------. ,-----------------------------------------.
259 * | trans| | | | | | | F6 | F7 | F8 | F9 | F10 | F11 |
260 * |------+------+------+------+------+------| |------+------+------+------+------+------|
261 * | ` | | | | | | | | 7 | 8 | 9 | * | F12 |
262 * |------+------+------+------+------+------| |------+------+------+------+------+------|
263 * | trans| | | | | |-------. ,-------| - | 4 | 5 | 6 | | | |
264 * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
265 * | trans| | | | | |-------| |-------| + | 1 | 2 | 3 | \ | Shift|
266 * `-----------------------------------------/ / \ \-----------------------------------------'
267 * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE | 0 | . | RAlt |
268 * | | | | |/ / \ \ | | | | |
269 * `----------------------------------' '------''---------------------------'
270 */
271[_NUMPAD] = LAYOUT(
272 //,------------------------------------------------. ,---------------------------------------------------.
273 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
274 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
275 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_ASTR, _______,
276 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
277 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_P4, KC_P5, KC_P6, KC_EQL, KC_PIPE,
278 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
279 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,_______, _______,KC_PLUS, KC_P1, KC_P2, KC_P3, KC_SLSH, _______,
280 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
281 _______, OSM(MOD_MEH), _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______
282 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
283),
284
285/* SWITCH
286 * ,-----------------------------------------. ,-----------------------------------------.
287 * | cole | qwer | low |raise | adj |numpd | | | F7 | F8 | F9 | F10 | F11 |
288 * |------+------+------+------+------+------| |------+------+------+------+------+------|
289 * | ` | | | | | | | | 7 | 8 | 9 | * | F12 |
290 * |------+------+------+------+------+------| |------+------+------+------+------+------|
291 * | trans| | | | | |-------. ,-------| - | 4 | 5 | 6 | | | |
292 * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
293 * | trans| | | | | |-------| |-------| + | 1 | 2 | 3 | \ | Shift|
294 * `-----------------------------------------/ / \ \-----------------------------------------'
295 * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE | 0 | . | RAlt |
296 * | | | | |/ / \ \ | | | | |
297 * `----------------------------------' '------''---------------------------'
298 */
299 // layer switcher
300[_SWITCH] = LAYOUT(
301 //,------------------------------------------------. ,---------------------------------------------------.
302 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
303 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
304 TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, QK_BOOT,
305 //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
306 KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR,
307 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
308 KC_SYSTEM_SLEEP,KC_NO,KC_BRID,KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
309 //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
310 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
311 // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
312
313 ),
314};
315
316#ifdef RGBLIGHT_ENABLE
317char layer_state_str[70];
318// Now define the array of layers. Later layers take precedence
319
320// QWERTY,
321// Light on inner column and underglow
322const rgblight_segment_t PROGMEM layer_qwerty_lights[] = RGBLIGHT_LAYER_SEGMENTS(
323 SET_LAYER_ID(HSV_RED)
324
325);
326const rgblight_segment_t PROGMEM layer_colemakdh_lights[] = RGBLIGHT_LAYER_SEGMENTS(
327 SET_LAYER_ID(HSV_PINK)
328);
329
330// _NUM,
331// Light on outer column and underglow
332const rgblight_segment_t PROGMEM layer_num_lights[] = RGBLIGHT_LAYER_SEGMENTS(
333 SET_LAYER_ID(HSV_TEAL)
334
335);
336// _SYMBOL,
337// Light on inner column and underglow
338const rgblight_segment_t PROGMEM layer_symbol_lights[] = RGBLIGHT_LAYER_SEGMENTS(
339 SET_LAYER_ID(HSV_BLUE)
340
341 );
342// _COMMAND,
343// Light on inner column and underglow
344const rgblight_segment_t PROGMEM layer_command_lights[] = RGBLIGHT_LAYER_SEGMENTS(
345 SET_LAYER_ID(HSV_PURPLE)
346);
347
348//_NUMPAD
349const rgblight_segment_t PROGMEM layer_numpad_lights[] = RGBLIGHT_LAYER_SEGMENTS(
350 SET_INDICATORS(HSV_ORANGE),
351 SET_UNDERGLOW(HSV_ORANGE),
352 SET_NUMPAD(HSV_BLUE),
353 {7, 4, HSV_ORANGE},
354 {25, 2, HSV_ORANGE},
355 {35+6, 4, HSV_ORANGE},
356 {35+25, 2, HSV_ORANGE}
357 );
358// _SWITCHER // light up top row
359const rgblight_segment_t PROGMEM layer_switcher_lights[] = RGBLIGHT_LAYER_SEGMENTS(
360 SET_LAYER_ID(HSV_GREEN),
361 SET_NUMROW(HSV_GREEN)
362);
363
364const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
365
366 layer_qwerty_lights,
367 layer_num_lights,// overrides layer 1
368 layer_symbol_lights,
369 layer_command_lights,
370 layer_numpad_lights,
371 layer_switcher_lights, // Overrides other layers
372 layer_colemakdh_lights
373);
374
375layer_state_t layer_state_set_user(layer_state_t state) {
376 rgblight_set_layer_state(0, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY));
377 rgblight_set_layer_state(7, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_COLEMAKDH));
378
379
380 rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER));
381 rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE));
382 rgblight_set_layer_state(3, layer_state_cmp(state, _ADJUST));
383 rgblight_set_layer_state(4, layer_state_cmp(state, _NUMPAD));
384 rgblight_set_layer_state(5, layer_state_cmp(state, _SWITCH));
385 return state;
386}
387void keyboard_post_init_user(void) {
388 // Enable the LED layers
389 rgblight_layers = my_rgb_layers;
390
391 rgblight_mode(10);// haven't found a way to set this in a more useful way
392
393}
394#endif
395
396#ifdef OLED_ENABLE
397
398static void render_logo(void) {
399 static const char PROGMEM qmk_logo[] = {
400 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
401 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
402 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
403 };
404
405 oled_write_P(qmk_logo, false);
406}
407
408static void print_status_narrow(void) {
409 // Print current mode
410 oled_write_P(PSTR("\n\n"), false);
411 oled_write_ln_P(PSTR("Dane\nEvans"), false);
412
413 oled_write_ln_P(PSTR(""), false);
414
415 //snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state)
416
417
418 switch (get_highest_layer(default_layer_state)) {
419 case _QWERTY:
420 oled_write_ln_P(PSTR("Qwrt"), false);
421 break;
422 case _COLEMAK:
423 oled_write_ln_P(PSTR("Clmk"), false);
424 break;
425 case _COLEMAKDH:
426 oled_write_ln_P(PSTR("CmkDH"), false);
427 break;
428
429 default:
430 oled_write_ln_P(PSTR("Undef"), false);
431 }
432 oled_write_P(PSTR("\n\n"), false);
433 // Print current layer
434 oled_write_ln_P(PSTR("LAYER"), false);
435 switch (get_highest_layer(layer_state)) {
436 case _COLEMAK:
437 case _QWERTY:
438 case _COLEMAKDH:
439 oled_write_P(PSTR("Base\n"), false);
440 break;
441 case _RAISE:
442 oled_write_P(PSTR("Raise"), false);
443 break;
444 case _LOWER:
445 oled_write_P(PSTR("Lower"), false);
446 break;
447 case _ADJUST:
448 oled_write_P(PSTR("Adj\n"), false);
449 break;
450 case _NUMPAD:
451 oled_write_P(PSTR("Nump\n"), false);
452 break;
453 case _SWITCH:
454 oled_write_P(PSTR("Swit\n"), false);
455 break;
456 default:
457 oled_write_ln_P(PSTR("Undef"), false);
458 }
459}
460
461oled_rotation_t oled_init_user(oled_rotation_t rotation) {
462 if (is_keyboard_master()) {
463 return OLED_ROTATION_270;
464 }
465 return rotation;
466}
467
468bool oled_task_user(void) {
469 if (is_keyboard_master()) {
470 print_status_narrow();
471 } else {
472 render_logo();
473 }
474 return false;
475}
476
477#endif
478
479bool process_record_user(uint16_t keycode, keyrecord_t *record) {
480 switch (keycode) {
481 case KC_QWERTY:
482 if (record->event.pressed) {
483 set_single_persistent_default_layer(_QWERTY);
484 }
485 return false;
486 case KC_COLEMAK:
487 if (record->event.pressed) {
488 set_single_persistent_default_layer(_COLEMAK);
489 }
490 return false;
491 case KC_COLEMAKDH:
492 if (record->event.pressed) {
493 set_single_persistent_default_layer(_COLEMAKDH);
494 }
495 return false;
496 case KC_LOWER:
497 if (record->event.pressed) {
498 layer_on(_LOWER);
499 update_tri_layer(_LOWER, _RAISE, _ADJUST);
500 } else {
501 layer_off(_LOWER);
502 update_tri_layer(_LOWER, _RAISE, _ADJUST);
503 }
504 return false;
505 case KC_RAISE:
506 if (record->event.pressed) {
507 layer_on(_RAISE);
508 update_tri_layer(_LOWER, _RAISE, _ADJUST);
509 } else {
510 layer_off(_RAISE);
511 update_tri_layer(_LOWER, _RAISE, _ADJUST);
512 }
513 return false;
514 case KC_ADJUST:
515 if (record->event.pressed) {
516 layer_on(_ADJUST);
517 } else {
518 layer_off(_ADJUST);
519 }
520 return false;
521 case KC_D_MUTE:
522 if (record->event.pressed) {
523 register_mods(mod_config(MOD_MEH));
524 register_code(KC_UP);
525 } else {
526 unregister_mods(mod_config(MOD_MEH));
527 unregister_code(KC_UP);
528 }
529 }
530 return true;
531}
532
533#ifdef ENCODER_ENABLE
534
535bool encoder_update_user(uint8_t index, bool clockwise) {
536 if (index == 0) {
537 if (clockwise) {
538 tap_code(KC_VOLU);
539 } else {
540 tap_code(KC_VOLD);
541 }
542 } else if (index == 1) {
543 switch (get_highest_layer(layer_state)) {
544 case _COLEMAK:
545 case _QWERTY:
546 case _COLEMAKDH:
547 if (clockwise) {
548 tap_code(KC_PGDN);
549 } else {
550 tap_code(KC_PGUP);
551 }
552 break;
553 case _RAISE:
554 case _LOWER:
555 if (clockwise) {
556 tap_code(KC_DOWN);
557 } else {
558 tap_code(KC_UP);
559 }
560 break;
561 default:
562 if (clockwise) {
563 tap_code(KC_WH_D);
564 } else {
565 tap_code(KC_WH_U);
566 }
567 break;
568 }
569 }
570 return true;
571}
572
573#endif