[Keymap] Add oled improvements and cnano keymap for drashna (#16133)

This commit is contained in:
Drashna Jaelre
2022-01-30 13:20:33 -08:00
committed by GitHub
parent 3555ee0555
commit 941b1d35b8
22 changed files with 797 additions and 189 deletions

View File

@ -23,9 +23,29 @@ static bool is_enabled;
static bool is_rgblight_startup;
static HSV old_hsv;
static uint8_t old_mode;
static uint16_t rgblight_startup_loop_timer;
deferred_token rgb_startup_token;
# endif
uint32_t rgb_startup_animation(uint32_t triger_time, void *cb_arg) {
if (is_rgblight_startup && is_keyboard_master()) {
static uint8_t counter = 0;
counter++;
rgblight_sethsv_noeeprom((counter + old_hsv.h) % 255, 255, 255);
if (counter >= 255) {
is_rgblight_startup = false;
if (userspace_config.rgb_layer_change) {
layer_state_set_rgb_light(layer_state);
} else {
rgblight_set_hsv_and_mode(old_hsv.h, old_hsv.s, old_hsv.v, old_mode);
}
if (!is_enabled) {
rgblight_disable_noeeprom();
}
}
}
return is_rgblight_startup ? 10 : 0;
}
void keyboard_post_init_rgb_light(void) {
# if defined(RGBLIGHT_STARTUP_ANIMATION)
is_enabled = rgblight_is_enabled();
@ -40,30 +60,8 @@ void keyboard_post_init_rgb_light(void) {
if (userspace_config.rgb_layer_change) {
layer_state_set_rgb_light(layer_state);
}
}
rgb_startup_token = defer_exec(300, rgb_startup_animation, NULL);
void matrix_scan_rgb_light(void) {
# if defined(RGBLIGHT_STARTUP_ANIMATION)
if (is_rgblight_startup && is_keyboard_master()) {
if (sync_timer_elapsed(rgblight_startup_loop_timer) > 10) {
static uint8_t counter;
counter++;
rgblight_sethsv_noeeprom((counter + old_hsv.h) % 255, 255, 255);
rgblight_startup_loop_timer = sync_timer_read();
if (counter == 255) {
is_rgblight_startup = false;
if (userspace_config.rgb_layer_change) {
layer_state_set_rgb_light(layer_state);
} else {
rgblight_set_hsv_and_mode(old_hsv.h, old_hsv.s, old_hsv.v, old_mode);
}
if (!is_enabled) {
rgblight_disable_noeeprom();
}
}
}
}
# endif
}
layer_state_t layer_state_set_rgb_light(layer_state_t state) {