#define MOUS 2
#ifdef LAYER_UNDERGLOW_LIGHTING
+bool has_layer_changed = true;
+
#define rgblight_set_teal rgblight_setrgb(0x00, 0xFF, 0xFF)
#define rgblight_set_red rgblight_setrgb(0xFF, 0x00, 0x00)
#define rgblight_set_blue rgblight_setrgb(0x00, 0xFF, 0x00);
return true;
}
-void matrix_init_user(void) { // Runs boot tasks for keyboard
-
-#ifdef LAYER_UNDERGLOW_LIGHTING
- rgblight_set_teal;
-#endif
-
-};
+
void matrix_scan_user(void) {
- static uint8_t old_layer = 0;
uint8_t new_layer = biton32(layer_state);
- uint8_t modifiders = get_mods();
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_3_off();
#ifdef LAYER_UNDERGLOW_LIGHTING
+ static uint8_t old_layer = 0;
+ uint8_t modifiders = get_mods();
+
if ( modifiders & MODS_SHIFT_MASK) {
ergodox_right_led_1_on();
}
if ( modifiders & MODS_ALT_MASK) {
ergodox_right_led_3_on();
}
+
if (old_layer != new_layer) {
+ has_layer_changed = true;
+ old_layer = new_layer;
+ }
+ if (has_layer_changed) {
switch (new_layer) {
case 1:
rgblight_set_red;
rgblight_set_teal;
break;
}
- }
+ has_layer_changed = false;
+ }
+
#else
- switch (layer) {
+ switch (new_layer) {
case 1:
ergodox_right_led_1_on();
break;
break;
}
#endif
- old_layer = new_layer;
};