aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/crkbd/keymaps/drashna/config.h16
-rw-r--r--keyboards/crkbd/keymaps/drashna/keymap.c66
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/rules.mk2
-rw-r--r--layouts/community/ergodox/drashna/config.h1
-rw-r--r--layouts/community/ergodox/drashna/keymap.c40
-rw-r--r--layouts/community/ergodox/drashna_glow/config.h2
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c32
-rw-r--r--users/drashna/drashna.c8
-rw-r--r--users/drashna/drashna.h4
-rw-r--r--users/drashna/process_records.c30
-rw-r--r--users/drashna/rgb_stuff.c13
-rw-r--r--users/drashna/rgb_stuff.h6
-rw-r--r--users/drashna/rules.mk1
-rw-r--r--users/drashna/template.c4
15 files changed, 151 insertions, 76 deletions
diff --git a/keyboards/crkbd/keymaps/drashna/config.h b/keyboards/crkbd/keymaps/drashna/config.h
index 0b035ba3c..724d52c38 100644
--- a/keyboards/crkbd/keymaps/drashna/config.h
+++ b/keyboards/crkbd/keymaps/drashna/config.h
@@ -48,17 +48,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
48#ifdef RGB_MATRIX_ENABLE 48#ifdef RGB_MATRIX_ENABLE
49# define RGB_MATRIX_KEYPRESSES // reacts to keypresses 49# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
50# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended 50# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
51# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
51 52
53// # define DISABLE_RGB_MATRIX_ALPHAS_MODS
52# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN 54# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
55# define DISABLE_RGB_MATRIX_BREATHING
53# define DISABLE_RGB_MATRIX_CYCLE_ALL 56# define DISABLE_RGB_MATRIX_CYCLE_ALL
57# define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
54# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN 58# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
59// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
60// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
55# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON 61# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
56# define DISABLE_RGB_MATRIX_DUAL_BEACON 62# define DISABLE_RGB_MATRIX_DUAL_BEACON
57# define DISABLE_RGB_MATRIX_RAINBOW_BEACON 63# define DISABLE_RGB_MATRIX_RAINBOW_BEACON
58# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS 64# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
59// #define DISABLE_RGB_MATRIX_RAINDROPS 65// # define DISABLE_RGB_MATRIX_RAINDROPS
60// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS 66// # define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
61# define DISABLE_RGB_MATRIX_DIGITAL_RAIN 67// # define DISABLE_RGB_MATRIX_TYPING_HEATMAP
68// # define DISABLE_RGB_MATRIX_DIGITAL_RAIN
62# define DISABLE_RGB_MATRIX_SOLID_REACTIVE 69# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
63# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE 70# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
64# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE 71# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
@@ -67,8 +74,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
67# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS 74# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
68# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS 75# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
69# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS 76# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
77# define DISABLE_RGB_MATRIX_SPLASH
78// # define DISABLE_RGB_MATRIX_MULTISPLASH
70# define DISABLE_RGB_MATRIX_SOLID_SPLASH 79# define DISABLE_RGB_MATRIX_SOLID_SPLASH
71# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH 80# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
81#endif
72 82
73#ifdef AUDIO_ENABLE 83#ifdef AUDIO_ENABLE
74# define B6_AUDIO 84# define B6_AUDIO
diff --git a/keyboards/crkbd/keymaps/drashna/keymap.c b/keyboards/crkbd/keymaps/drashna/keymap.c
index 3eea7af9f..af0bc0d9a 100644
--- a/keyboards/crkbd/keymaps/drashna/keymap.c
+++ b/keyboards/crkbd/keymaps/drashna/keymap.c
@@ -20,9 +20,9 @@ enum crkbd_keycodes {
20 ) \ 20 ) \
21 LAYOUT_wrapper( \ 21 LAYOUT_wrapper( \
22 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ 22 KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
23 KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RGUI_T(KC_QUOT), \ 23 KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
24 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ 24 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
25 LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \ 25 KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI \
26 ) 26 )
27#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) 27#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__)
28 28
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
100 KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, 100 KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET,
101 VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, 101 VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
102 _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, 102 _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
103 _______, _______, _______, KC_NUKE, TG_MODS, _______ 103 _______, KC_NUKE, _______, _______, TG_MODS, _______
104 ) 104 )
105}; 105};
106 106
@@ -156,6 +156,8 @@ void add_keylog(uint16_t keycode) {
156 if (keycode < 60) { 156 if (keycode < 60) {
157 keylog_str[0] = code_to_name[keycode]; 157 keylog_str[0] = code_to_name[keycode];
158 } 158 }
159 keylog_str[KEYLOG_LEN] = 0;
160
159 log_timer = timer_read(); 161 log_timer = timer_read();
160} 162}
161 163
@@ -267,3 +269,61 @@ uint16_t get_tapping_term(uint16_t keycode) {
267 return TAPPING_TERM; 269 return TAPPING_TERM;
268 } 270 }
269} 271}
272
273#ifdef RGB_MATRIX_ENABLE
274
275void suspend_power_down_keymap(void) {
276 rgb_matrix_set_suspend_state(true);
277}
278
279void suspend_wakeup_init_keymap(void) {
280 rgb_matrix_set_suspend_state(false);
281}
282
283void rgb_matrix_indicators_user(void) {
284 if ( userspace_config.rgb_layer_change &&
285#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
286 !g_suspend_state &&
287#endif
288#if defined(RGBLIGHT_ENABLE)
289 (!rgblight_config.enable && rgb_matrix_config.enable)
290#else
291 rgb_matrix_config.enable
292#endif
293 ) {
294 switch (biton32(layer_state)) {
295 case _MODS:
296 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
297 case _GAMEPAD:
298 rgb_matrix_layer_helper(0xFF, 0x80, 0x00, LED_FLAG_UNDERGLOW); break;
299 case _DIABLO:
300 rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_UNDERGLOW); break;
301 case _RAISE:
302 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
303 case _LOWER:
304 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
305 case _ADJUST:
306 rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_UNDERGLOW); break;
307 default:
308 switch (biton32(default_layer_state)) {
309 case _QWERTY:
310 rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_UNDERGLOW); break;
311 case _COLEMAK:
312 rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_UNDERGLOW); break;
313 case _DVORAK:
314 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
315 case _WORKMAN:
316 rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_UNDERGLOW); break;
317 case _NORMAN:
318 rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_UNDERGLOW); break;
319 case _MALTRON:
320 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break;
321 case _EUCALYN:
322 rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_UNDERGLOW); break;
323 case _CARPLAX:
324 rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_UNDERGLOW); break;
325 }
326 }
327 }
328}
329#endif
diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c
index 95092cc52..44ffb59f6 100644
--- a/keyboards/keebio/iris/keymaps/drashna/keymap.c
+++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c
@@ -13,7 +13,7 @@
13 KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ 13 KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \
14 KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ 14 KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
15 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ 15 OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
16 LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \ 16 KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \
17 ) 17 )
18#define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__) 18#define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__)
19 19
diff --git a/keyboards/keebio/iris/keymaps/drashna/rules.mk b/keyboards/keebio/iris/keymaps/drashna/rules.mk
index 1311ab280..a315e1a0b 100644
--- a/keyboards/keebio/iris/keymaps/drashna/rules.mk
+++ b/keyboards/keebio/iris/keymaps/drashna/rules.mk
@@ -5,7 +5,7 @@ CONSOLE_ENABLE = no # Console for debug(+400)
5COMMAND_ENABLE = no # Commands for debug and configuration 5COMMAND_ENABLE = no # Commands for debug and configuration
6TAP_DANCE_ENABLE = no 6TAP_DANCE_ENABLE = no
7RGBLIGHT_ENABLE = yes 7RGBLIGHT_ENABLE = yes
8AUDIO_ENABLE = no 8AUDIO_ENABLE = yes
9NKRO_ENABLE = yes 9NKRO_ENABLE = yes
10BACKLIGHT_ENABLE = no 10BACKLIGHT_ENABLE = no
11SWAP_HANDS_ENABLE = no 11SWAP_HANDS_ENABLE = no
diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h
index 7feaf6f25..821710ed8 100644
--- a/layouts/community/ergodox/drashna/config.h
+++ b/layouts/community/ergodox/drashna/config.h
@@ -13,3 +13,4 @@
13#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Shine 13#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Shine
14 14
15#undef DEBOUNCE 15#undef DEBOUNCE
16#define DEBOUNCE 15
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 08689cf3d..74382f175 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -399,14 +399,6 @@ void suspend_wakeup_init_keymap(void) {
399 rgb_matrix_set_suspend_state(false); 399 rgb_matrix_set_suspend_state(false);
400} 400}
401 401
402void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, bool default_layer) {
403 for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
404 if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
405 rgb_matrix_set_color( i, red, green, blue );
406 }
407 }
408}
409
410void rgb_matrix_indicators_user(void) { 402void rgb_matrix_indicators_user(void) {
411 if ( userspace_config.rgb_layer_change && 403 if ( userspace_config.rgb_layer_change &&
412#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED 404#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
@@ -420,9 +412,9 @@ void rgb_matrix_indicators_user(void) {
420 ) { 412 ) {
421 switch (biton32(layer_state)) { 413 switch (biton32(layer_state)) {
422 case _MODS: 414 case _MODS:
423 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; 415 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
424 case _GAMEPAD: 416 case _GAMEPAD:
425 rgb_matrix_layer_helper(0xFF, 0x80, 0x00); 417 rgb_matrix_layer_helper(0xFF, 0x80, 0x00, LED_FLAG_MODIFIER);
426 rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q 418 rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q
427 rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W 419 rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W
428 rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E 420 rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E
@@ -432,37 +424,37 @@ void rgb_matrix_indicators_user(void) {
432 rgb_matrix_set_color(35, 0x00, 0xFF, 0xFF); // D 424 rgb_matrix_set_color(35, 0x00, 0xFF, 0xFF); // D
433 rgb_matrix_set_color(34, 0x7A, 0x00, 0xFF); // F 425 rgb_matrix_set_color(34, 0x7A, 0x00, 0xFF); // F
434 426
435 rgb_matrix_set_color(27, 0xFF, 0xFF, 0xFF); // 1 427 rgb_matrix_set_color(userspace_config.swapped_numbers ? 27 : 26, 0xFF, 0xFF, 0xFF); // 1
436 rgb_matrix_set_color(26, 0x00, 0xFF, 0x00); // 2 428 rgb_matrix_set_color(userspace_config.swapped_numbers ? 26 : 27, 0x00, 0xFF, 0x00); // 2
437 rgb_matrix_set_color(25, 0x7A, 0x00, 0xFF); // 3 429 rgb_matrix_set_color(25, 0x7A, 0x00, 0xFF); // 3
438 430
439 break; 431 break;
440 case _DIABLO: 432 case _DIABLO:
441 rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; 433 rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
442 case _RAISE: 434 case _RAISE:
443 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; 435 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
444 case _LOWER: 436 case _LOWER:
445 rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; 437 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
446 case _ADJUST: 438 case _ADJUST:
447 rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; 439 rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
448 default: 440 default:
449 switch (biton32(default_layer_state)) { 441 switch (biton32(default_layer_state)) {
450 case _QWERTY: 442 case _QWERTY:
451 rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; 443 rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break;
452 case _COLEMAK: 444 case _COLEMAK:
453 rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; 445 rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
454 case _DVORAK: 446 case _DVORAK:
455 rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; 447 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
456 case _WORKMAN: 448 case _WORKMAN:
457 rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; 449 rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break;
458 case _NORMAN: 450 case _NORMAN:
459 rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; 451 rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break;
460 case _MALTRON: 452 case _MALTRON:
461 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; 453 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
462 case _EUCALYN: 454 case _EUCALYN:
463 rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; 455 rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break;
464 case _CARPLAX: 456 case _CARPLAX:
465 rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; 457 rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
466 } 458 }
467 } 459 }
468 } 460 }
diff --git a/layouts/community/ergodox/drashna_glow/config.h b/layouts/community/ergodox/drashna_glow/config.h
index 5eb1c6d0f..e6c8223e9 100644
--- a/layouts/community/ergodox/drashna_glow/config.h
+++ b/layouts/community/ergodox/drashna_glow/config.h
@@ -18,7 +18,9 @@
18# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON 18# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
19# define DISABLE_RGB_MATRIX_DUAL_BEACON 19# define DISABLE_RGB_MATRIX_DUAL_BEACON
20# define DISABLE_RGB_MATRIX_RAINBOW_BEACON 20# define DISABLE_RGB_MATRIX_RAINBOW_BEACON
21# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
21# define DISABLE_RGB_MATRIX_DIGITAL_RAIN 22# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
23# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
22# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE 24# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
23# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS 25# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
24# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS 26# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 9b0c2d794..c1c016ce9 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -180,14 +180,6 @@ void suspend_wakeup_init_keymap(void) {
180 rgb_matrix_set_suspend_state(false); 180 rgb_matrix_set_suspend_state(false);
181} 181}
182 182
183void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
184 for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
185 if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
186 rgb_matrix_set_color( i, red, green, blue );
187 }
188 }
189}
190
191void rgb_matrix_indicators_user(void) { 183void rgb_matrix_indicators_user(void) {
192 uint8_t this_mod = get_mods(); 184 uint8_t this_mod = get_mods();
193 uint8_t this_led = host_keyboard_leds(); 185 uint8_t this_led = host_keyboard_leds();
@@ -209,29 +201,29 @@ void rgb_matrix_indicators_user(void) {
209 ) { 201 ) {
210 switch (biton32(layer_state)) { 202 switch (biton32(layer_state)) {
211 case _RAISE: 203 case _RAISE:
212 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; 204 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
213 case _LOWER: 205 case _LOWER:
214 rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; 206 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
215 case _ADJUST: 207 case _ADJUST:
216 rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; 208 rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break;
217 default: 209 default:
218 switch (biton32(default_layer_state)) { 210 switch (biton32(default_layer_state)) {
219 case _QWERTY: 211 case _QWERTY:
220 rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; 212 rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break;
221 case _COLEMAK: 213 case _COLEMAK:
222 rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; 214 rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
223 case _DVORAK: 215 case _DVORAK:
224 rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; 216 rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
225 case _WORKMAN: 217 case _WORKMAN:
226 rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; 218 rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break;
227 case _NORMAN: 219 case _NORMAN:
228 rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; 220 rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break;
229 case _MALTRON: 221 case _MALTRON:
230 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; 222 rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break;
231 case _EUCALYN: 223 case _EUCALYN:
232 rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; 224 rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break;
233 case _CARPLAX: 225 case _CARPLAX:
234 rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; 226 rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break;
235 } 227 }
236 } 228 }
237 } 229 }
@@ -327,7 +319,7 @@ void dip_update(uint8_t index, bool active) {
327#endif // KEYBOARD_planck_rev6 319#endif // KEYBOARD_planck_rev6
328 320
329#ifdef KEYBOARD_planck_ez 321#ifdef KEYBOARD_planck_ez
330uint32_t layer_state_set_keymap(uint32_t state) { 322layer_state_t layer_state_set_keymap(layer_state_t state) {
331 323
332 palClearPad(GPIOB, 8); 324 palClearPad(GPIOB, 8);
333 palClearPad(GPIOB, 9); 325 palClearPad(GPIOB, 9);
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c
index 7c60a2e4a..acc6b9f9e 100644
--- a/users/drashna/drashna.c
+++ b/users/drashna/drashna.c
@@ -187,13 +187,13 @@ void matrix_scan_user(void) {
187 187
188 188
189__attribute__ ((weak)) 189__attribute__ ((weak))
190uint32_t layer_state_set_keymap (uint32_t state) { 190layer_state_t layer_state_set_keymap (layer_state_t state) {
191 return state; 191 return state;
192} 192}
193 193
194// on layer change, no matter where the change was initiated 194// on layer change, no matter where the change was initiated
195// Then runs keymap's layer change check 195// Then runs keymap's layer change check
196uint32_t layer_state_set_user(uint32_t state) { 196layer_state_t layer_state_set_user(layer_state_t state) {
197 state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); 197 state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
198#ifdef RGBLIGHT_ENABLE 198#ifdef RGBLIGHT_ENABLE
199 state = layer_state_set_rgb(state); 199 state = layer_state_set_rgb(state);
@@ -203,12 +203,12 @@ uint32_t layer_state_set_user(uint32_t state) {
203 203
204 204
205__attribute__ ((weak)) 205__attribute__ ((weak))
206uint32_t default_layer_state_set_keymap (uint32_t state) { 206layer_state_t default_layer_state_set_keymap (layer_state_t state) {
207 return state; 207 return state;
208} 208}
209 209
210// Runs state check and changes underglow color and animation 210// Runs state check and changes underglow color and animation
211uint32_t default_layer_state_set_user(uint32_t state) { 211layer_state_t default_layer_state_set_user(layer_state_t state) {
212 state = default_layer_state_set_keymap(state); 212 state = default_layer_state_set_keymap(state);
213#if 0 213#if 0
214#ifdef RGBLIGHT_ENABLE 214#ifdef RGBLIGHT_ENABLE
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h
index 5df67792a..507504f04 100644
--- a/users/drashna/drashna.h
+++ b/users/drashna/drashna.h
@@ -67,8 +67,8 @@ void shutdown_keymap(void);
67void suspend_power_down_keymap(void); 67void suspend_power_down_keymap(void);
68void suspend_wakeup_init_keymap(void); 68void suspend_wakeup_init_keymap(void);
69void matrix_scan_keymap(void); 69void matrix_scan_keymap(void);
70uint32_t layer_state_set_keymap (uint32_t state); 70layer_state_t layer_state_set_keymap (layer_state_t state);
71uint32_t default_layer_state_set_keymap (uint32_t state); 71layer_state_t default_layer_state_set_keymap (layer_state_t state);
72void led_set_keymap(uint8_t usb_led); 72void led_set_keymap(uint8_t usb_led);
73void eeconfig_init_keymap(void); 73void eeconfig_init_keymap(void);
74 74
diff --git a/users/drashna/process_records.c b/users/drashna/process_records.c
index a5487b585..770219917 100644
--- a/users/drashna/process_records.c
+++ b/users/drashna/process_records.c
@@ -39,22 +39,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
39 clear_mods(); clear_oneshot_mods(); 39 clear_mods(); clear_oneshot_mods();
40 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), TAP_CODE_DELAY); 40 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), TAP_CODE_DELAY);
41#ifndef MAKE_BOOTLOADER 41#ifndef MAKE_BOOTLOADER
42 if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT ) 42 if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
43#endif
44 {
45 #if defined(__arm__)
46 send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
47 #elif defined(BOOTLOADER_DFU)
48 send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
49 #elif defined(BOOTLOADER_HALFKAY)
50 send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
51 #elif defined(BOOTLOADER_CATERINA)
52 send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
53 #endif // bootloader options
54 }
55 if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
56#ifdef RGB_MATRIX_SPLIT_RIGHT
57 send_string_with_delay_P(PSTR(" RGB_MATRIX_SPLIT_RIGHT=yes OLED_DRIVER_ENABLE=no"), TAP_CODE_DELAY);
43#endif 58#endif
44 {
45 #if defined(__arm__)
46 send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
47 #elif defined(BOOTLOADER_DFU)
48 send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
49 #elif defined(BOOTLOADER_HALFKAY)
50 send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
51 #elif defined(BOOTLOADER_CATERINA)
52 send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
53 #endif // bootloader options
54 }
55 if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
56 send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY); 59 send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
57 } 60 }
61
58 break; 62 break;
59 63
60 case VRSN: // Prints firmware version 64 case VRSN: // Prints firmware version
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c
index 9e19747fa..7d364fa68 100644
--- a/users/drashna/rgb_stuff.c
+++ b/users/drashna/rgb_stuff.c
@@ -275,7 +275,7 @@ void matrix_scan_rgb(void) {
275} 275}
276 276
277 277
278uint32_t layer_state_set_rgb(uint32_t state) { 278layer_state_t layer_state_set_rgb(layer_state_t state) {
279#ifdef RGBLIGHT_ENABLE 279#ifdef RGBLIGHT_ENABLE
280 if (userspace_config.rgb_layer_change) { 280 if (userspace_config.rgb_layer_change) {
281 switch (biton32(state)) { 281 switch (biton32(state)) {
@@ -334,3 +334,14 @@ uint32_t layer_state_set_rgb(uint32_t state) {
334 334
335 return state; 335 return state;
336} 336}
337
338#ifdef RGB_MATRIX_ENABLE
339extern led_config_t g_led_config;
340void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type) {
341 for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
342 if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
343 rgb_matrix_set_color( i, red, green, blue );
344 }
345 }
346}
347#endif
diff --git a/users/drashna/rgb_stuff.h b/users/drashna/rgb_stuff.h
index 886f20ffc..f5bbd0f3b 100644
--- a/users/drashna/rgb_stuff.h
+++ b/users/drashna/rgb_stuff.h
@@ -15,7 +15,9 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
15void scan_rgblight_fadeout(void); 15void scan_rgblight_fadeout(void);
16void keyboard_post_init_rgb(void); 16void keyboard_post_init_rgb(void);
17void matrix_scan_rgb(void); 17void matrix_scan_rgb(void);
18uint32_t layer_state_set_rgb(uint32_t state); 18layer_state_t layer_state_set_rgb(layer_state_t state);
19uint32_t default_layer_state_set_rgb(uint32_t state); 19layer_state_t default_layer_state_set_rgb(layer_state_t state);
20void rgblight_sethsv_default_helper(uint8_t index); 20void rgblight_sethsv_default_helper(uint8_t index);
21void rgb_matrix_set_color_all( uint8_t red, uint8_t green, uint8_t blue ); 21void rgb_matrix_set_color_all( uint8_t red, uint8_t green, uint8_t blue );
22
23void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type);
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk
index 085840f1c..cdb9e5436 100644
--- a/users/drashna/rules.mk
+++ b/users/drashna/rules.mk
@@ -33,6 +33,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
33 endif 33 endif
34endif 34endif
35 35
36RGB_MATRIX_ENABLE ?= no
36ifneq ($(strip $(RGB_MATRIX_ENABLE)), no) 37ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
37 SRC += rgb_stuff.c 38 SRC += rgb_stuff.c
38endif 39endif
diff --git a/users/drashna/template.c b/users/drashna/template.c
index 0e188f3a5..d90e6bdec 100644
--- a/users/drashna/template.c
+++ b/users/drashna/template.c
@@ -62,11 +62,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
62 62
63 63
64__attribute__ ((weak)) 64__attribute__ ((weak))
65uint32_t layer_state_set_keymap (uint32_t state) { 65layer_state_t layer_state_set_keymap (layer_state_t state) {
66 return state; 66 return state;
67} 67}
68 68
69uint32_t layer_state_set_user (uint32_t state) { 69layer_state_t layer_state_set_user (layer_state_t state) {
70 return layer_state_set_keymap (state); 70 return layer_state_set_keymap (state);
71} 71}
72 72