Fix Lighting Layers

This commit is contained in:
Buliway 2023-06-04 10:22:24 +03:00
parent f40010d4f3
commit 4a310f87cc

View file

@ -140,10 +140,6 @@ void user_timer(void) {
lang_shift_user_timer(); lang_shift_user_timer();
}; };
void matrix_scan_user(void) {
user_timer();
};
// Tap Dance // Tap Dance
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
@ -203,12 +199,20 @@ layer_state_t default_layer_state_set_user(layer_state_t state) {
case L_ENG: case L_ENG:
rgblight_sethsv(HSV_ORANGE); rgblight_sethsv(HSV_ORANGE);
break; break;
case L_RU:
rgblight_sethsv(HSV_GREEN);
break;
case L_GAME: case L_GAME:
rgblight_sethsv(HSV_YELLOW); rgblight_sethsv(HSV_YELLOW);
break; break;
rgblight_sethsv(HSV_WHITE);
break;
}
return state;
};
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case L_RU:
rgblight_sethsv(HSV_GREEN);
break;
case L_PUNC: case L_PUNC:
rgblight_sethsv(HSV_MAGENTA); rgblight_sethsv(HSV_MAGENTA);
break; break;
@ -228,32 +232,16 @@ layer_state_t default_layer_state_set_user(layer_state_t state) {
return state; return state;
}; };
layer_state_t layer_state_set_user(layer_state_t state) { void matrix_scan_user(void) {
switch (get_highest_layer(state)) { user_timer();
case L_ENG:
rgblight_sethsv(HSV_ORANGE); // Проверяем, активен ли слой
break; if (!layer_state_cmp(layer_state, L_PUNC) &&
case L_RU: !layer_state_cmp(layer_state, L_IDK1) &&
rgblight_sethsv(HSV_GREEN); !layer_state_cmp(layer_state, L_IDK2) &&
break; !layer_state_cmp(layer_state, L_NUMF) &&
case L_GAME: !layer_state_cmp(layer_state, L_RU)) {
rgblight_sethsv(HSV_YELLOW); // Если ни один из этих слоев не активен, обновляем подсветку на основе текущего базового слоя
break; default_layer_state_set_user(default_layer_state);
case L_PUNC:
rgblight_sethsv(HSV_MAGENTA);
break;
case L_IDK1:
rgblight_sethsv(HSV_BLUE);
break;
case L_IDK2:
rgblight_sethsv(HSV_RED);
break;
case L_NUMF:
rgblight_sethsv(HSV_CYAN);
break;
default: // for any other layers, or the default layer
rgblight_sethsv(HSV_WHITE);
break;
} }
return state; }
};