Drashna's split updates (#13350)
Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
@ -28,7 +28,7 @@ void rgblight_sethsv_default_helper(uint8_t index) { rgblight_sethsv_at(rgblight
|
||||
static rgblight_fadeout lights[RGBLED_NUM];
|
||||
|
||||
/* Handler for fading/twinkling effect */
|
||||
void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgblight_sethsv is supppppper intensive
|
||||
void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgblight_sethsv is supppppper intensive
|
||||
bool litup = false;
|
||||
|
||||
for (uint8_t light_index = 0; light_index < RGBLED_NUM; ++light_index) {
|
||||
@ -38,21 +38,15 @@ void scan_rgblight_fadeout(void) { // Don't effing change this function .... rg
|
||||
|
||||
if (light->life) {
|
||||
light->life -= 1;
|
||||
if (get_highest_layer(layer_state) == 0) {
|
||||
sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]);
|
||||
}
|
||||
if (get_highest_layer(layer_state) == 0) { sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]); }
|
||||
light->timer = sync_timer_read();
|
||||
} else {
|
||||
if (light->enabled && get_highest_layer(layer_state) == 0) {
|
||||
rgblight_sethsv_default_helper(light_index);
|
||||
}
|
||||
if (light->enabled && get_highest_layer(layer_state) == 0) { rgblight_sethsv_default_helper(light_index); }
|
||||
litup = light->enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (litup && get_highest_layer(layer_state) == 0) {
|
||||
rgblight_set();
|
||||
}
|
||||
if (litup && get_highest_layer(layer_state) == 0) { rgblight_set(); }
|
||||
}
|
||||
|
||||
/* Triggers a LED to fade/twinkle.
|
||||
@ -98,9 +92,7 @@ void start_rgb_light(void) {
|
||||
bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) {
|
||||
uint16_t temp_keycode = keycode;
|
||||
// Filter out the actual keycode from MT and LT keys.
|
||||
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
|
||||
temp_keycode &= 0xFF;
|
||||
}
|
||||
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { temp_keycode &= 0xFF; }
|
||||
|
||||
switch (temp_keycode) {
|
||||
# ifdef RGBLIGHT_TWINKLE
|
||||
@ -110,11 +102,9 @@ bool process_record_user_rgb_light(uint16_t keycode, keyrecord_t *record) {
|
||||
case KC_KP_SLASH ... KC_KP_DOT:
|
||||
case KC_F13 ... KC_F24:
|
||||
case KC_AUDIO_MUTE ... KC_MEDIA_REWIND:
|
||||
if (record->event.pressed) {
|
||||
start_rgb_light();
|
||||
}
|
||||
if (record->event.pressed) { start_rgb_light(); }
|
||||
break;
|
||||
# endif // RGBLIGHT_TWINKLE
|
||||
# endif // RGBLIGHT_TWINKLE
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -129,9 +119,7 @@ static uint16_t rgblight_startup_loop_timer;
|
||||
void keyboard_post_init_rgb_light(void) {
|
||||
# if defined(RGBLIGHT_STARTUP_ANIMATION)
|
||||
is_enabled = rgblight_is_enabled();
|
||||
if (userspace_config.rgb_layer_change) {
|
||||
rgblight_enable_noeeprom();
|
||||
}
|
||||
if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); }
|
||||
if (rgblight_is_enabled()) {
|
||||
layer_state_set_rgb_light(layer_state);
|
||||
old_hue = rgblight_get_hue();
|
||||
@ -145,7 +133,7 @@ void keyboard_post_init_rgb_light(void) {
|
||||
void matrix_scan_rgb_light(void) {
|
||||
# ifdef RGBLIGHT_TWINKLE
|
||||
scan_rgblight_fadeout();
|
||||
# endif // RGBLIGHT_ENABLE
|
||||
# endif // RGBLIGHT_ENABLE
|
||||
|
||||
# if defined(RGBLIGHT_STARTUP_ANIMATION)
|
||||
if (is_rgblight_startup && is_keyboard_master()) {
|
||||
@ -156,12 +144,8 @@ void matrix_scan_rgb_light(void) {
|
||||
rgblight_startup_loop_timer = sync_timer_read();
|
||||
if (counter == 255) {
|
||||
is_rgblight_startup = false;
|
||||
if (!is_enabled) {
|
||||
rgblight_disable_noeeprom();
|
||||
}
|
||||
if (userspace_config.rgb_layer_change) {
|
||||
layer_state_set_rgb_light(layer_state);
|
||||
}
|
||||
if (!is_enabled) { rgblight_disable_noeeprom(); }
|
||||
if (userspace_config.rgb_layer_change) { layer_state_set_rgb_light(layer_state); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -179,55 +163,25 @@ layer_state_t layer_state_set_rgb_light(layer_state_t state) {
|
||||
if (userspace_config.rgb_layer_change) {
|
||||
switch (get_highest_layer(state | default_layer_state)) {
|
||||
case _MACROS: // mouse
|
||||
if (!layer_state_cmp(state, _GAMEPAD) && !layer_state_cmp(state, _DIABLO)) {
|
||||
rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3);
|
||||
}
|
||||
break;
|
||||
case _MEDIA:
|
||||
rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1);
|
||||
break;
|
||||
case _GAMEPAD:
|
||||
rgblight_set_hsv_and_mode(HSV_ORANGE, RGBLIGHT_MODE_SNAKE + 2);
|
||||
break;
|
||||
case _DIABLO:
|
||||
rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_BREATHING + 3);
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_BREATHING + 3);
|
||||
break;
|
||||
case _LOWER:
|
||||
rgblight_set_hsv_and_mode(HSV_GREEN, RGBLIGHT_MODE_BREATHING + 3);
|
||||
break;
|
||||
case _ADJUST:
|
||||
rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_KNIGHT + 2);
|
||||
break;
|
||||
case _COLEMAK:
|
||||
rgblight_set_hsv_and_mode(HSV_MAGENTA, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
case _DVORAK:
|
||||
rgblight_set_hsv_and_mode(HSV_SPRINGGREEN, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
case _WORKMAN:
|
||||
rgblight_set_hsv_and_mode(HSV_GOLDENROD, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
case _NORMAN:
|
||||
rgblight_set_hsv_and_mode(HSV_CORAL, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
case _MALTRON:
|
||||
rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
case _EUCALYN:
|
||||
rgblight_set_hsv_and_mode(HSV_PINK, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
case _CARPLAX:
|
||||
rgblight_set_hsv_and_mode(HSV_BLUE, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
break;
|
||||
default:
|
||||
rgblight_set_hsv_and_mode(HSV_CYAN, RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
if (!layer_state_cmp(state, _GAMEPAD) && !layer_state_cmp(state, _DIABLO)) { rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_BREATHING + 3); }
|
||||
break;
|
||||
case _MEDIA: rgblight_set_hsv_and_mode(HSV_CHARTREUSE, RGBLIGHT_MODE_KNIGHT + 1); break;
|
||||
case _GAMEPAD: rgblight_set_hsv_and_mode(HSV_ORANGE, RGBLIGHT_MODE_SNAKE + 2); break;
|
||||
case _DIABLO: rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_BREATHING + 3); break;
|
||||
case _RAISE: rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_BREATHING + 3); break;
|
||||
case _LOWER: rgblight_set_hsv_and_mode(HSV_GREEN, RGBLIGHT_MODE_BREATHING + 3); break;
|
||||
case _ADJUST: rgblight_set_hsv_and_mode(HSV_RED, RGBLIGHT_MODE_KNIGHT + 2); break;
|
||||
case _COLEMAK: rgblight_set_hsv_and_mode(HSV_MAGENTA, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
case _DVORAK: rgblight_set_hsv_and_mode(HSV_SPRINGGREEN, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
case _WORKMAN: rgblight_set_hsv_and_mode(HSV_GOLDENROD, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
case _NORMAN: rgblight_set_hsv_and_mode(HSV_CORAL, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
case _MALTRON: rgblight_set_hsv_and_mode(HSV_YELLOW, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
case _EUCALYN: rgblight_set_hsv_and_mode(HSV_PINK, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
case _CARPLAX: rgblight_set_hsv_and_mode(HSV_BLUE, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
default: rgblight_set_hsv_and_mode(HSV_CYAN, RGBLIGHT_MODE_STATIC_LIGHT); break;
|
||||
}
|
||||
}
|
||||
# endif // RGBLIGHT_ENABLE
|
||||
# endif // RGBLIGHT_ENABLE
|
||||
|
||||
return state;
|
||||
}
|
||||
|
Reference in New Issue
Block a user