summaryrefslogtreecommitdiff
path: root/users/spidey3/layer_rgb.c
diff options
context:
space:
mode:
authorJoshua Diamond <josh@windowoffire.com>2022-08-31 19:39:16 -0400
committerGitHub <noreply@github.com>2022-08-31 16:39:16 -0700
commite4bf8323688b56cd5fc0f4f27c531f3406d40f6d (patch)
tree7a94a4e85177d12b4f5561969214094943da111b /users/spidey3/layer_rgb.c
parentb9effc94db6011e226a7a1f410214eca9666734f (diff)
Add unicode mode change callbacks (#18235)
Diffstat (limited to 'users/spidey3/layer_rgb.c')
-rw-r--r--users/spidey3/layer_rgb.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c
index b34b91679d..bdf4584ef1 100644
--- a/users/spidey3/layer_rgb.c
+++ b/users/spidey3/layer_rgb.c
@@ -112,8 +112,7 @@ void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) {
}
}
-void do_rgb_unicode(void) {
- uint8_t uc_mode = get_unicode_input_mode();
+void do_rgb_unicode(uint8_t uc_mode) {
for (uint8_t i = 0; i < UC__COUNT; i++) {
bool is_on = i == uc_mode;
rgblight_set_layer_state(UNICODE_OFFSET + i, is_on);
@@ -123,7 +122,7 @@ void do_rgb_unicode(void) {
void do_rgb_all(void) {
do_rgb_layers(default_layer_state, LAYER_BASE_DEFAULT, LAYER_BASE_REGULAR);
do_rgb_layers(layer_state, LAYER_BASE_REGULAR, LAYER_BASE_END);
- do_rgb_unicode();
+ do_rgb_unicode(get_unicode_input_mode());
rgblight_set_layer_state(MISC_OFFSET + 0, spi_gflock);
rgblight_set_layer_state(MISC_OFFSET + 1, spi_replace_mode != SPI_NORMAL);
}
@@ -148,7 +147,7 @@ extern rgblight_status_t rgblight_status;
# define STARTUP_ANIMATION_CYCLE_STEP 2
# define STARTUP_ANIMATION_RAMP_TO_STEPS 70
# define STARTUP_ANIMATION_STEP_TIME 10
-# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME
+# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME
// clang-format off
typedef enum {
@@ -382,6 +381,13 @@ bool led_update_user_rgb(led_t led_state) {
return true;
}
+#if defined(UNICODE_COMMON_ENABLE)
+void unicode_input_mode_set_user_rgb(uint8_t input_mode) {
+ rgb_layer_ack(ACK_MEH);
+ do_rgb_unicode(input_mode);
+}
+#endif
+
void rgb_layer_ack_yn(bool yn) { rgb_layer_ack(yn ? ACK_YES : ACK_NO); }
void rgb_layer_ack(layer_ack_t n) {
@@ -458,7 +464,7 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
break;
case RGB_TOG:
- // Hack - we only get called on the press for RGB_TOG,
+ // Hack - we only get called on the press for RGB_TOG,
// but the flag is only flipped on the release...
rgb_layer_ack_yn(!rgblight_config.enable);
break;
@@ -476,20 +482,5 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
rgb_layer_ack_yn(keymap_config.nkro);
break;
#endif
-
-#if defined(UNICODE_COMMON_ENABLE)
- case UC_M_MA:
- case UC_M_LN:
- case UC_M_WI:
- case UC_M_BS:
- case UC_M_WC:
- case UC_M_EM:
-
- case UC_MOD:
- case UC_RMOD:
- rgb_layer_ack(ACK_MEH);
- do_rgb_unicode();
- break;
-#endif
}
}