summaryrefslogtreecommitdiff
path: root/users/drashna/rgb/rgb_stuff.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2023-05-31 11:44:06 -0700
committerGitHub <noreply@github.com>2023-05-31 11:44:06 -0700
commit3a3e5abac992712a8bb4e9b61430f5fc62dc6043 (patch)
tree832d14c0ca63e13ca1b97e2cbfe94d75d6bb89c7 /users/drashna/rgb/rgb_stuff.c
parent1411c79aefc989f5fae138b795f53f3b10863ec9 (diff)
[Keymap] Drashna Keymap updates for 0.21.0 (#21073)
Diffstat (limited to 'users/drashna/rgb/rgb_stuff.c')
-rw-r--r--users/drashna/rgb/rgb_stuff.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/users/drashna/rgb/rgb_stuff.c b/users/drashna/rgb/rgb_stuff.c
index c283e58d26..cc85425aff 100644
--- a/users/drashna/rgb/rgb_stuff.c
+++ b/users/drashna/rgb/rgb_stuff.c
@@ -11,6 +11,9 @@ void rgblight_sethsv_default_helper(uint8_t index) {
rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val(), index);
}
void rgblight_set_hsv_and_mode(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode) {
+ if (val > RGBLIGHT_LIMIT_VAL) {
+ val = RGBLIGHT_LIMIT_VAL;
+ }
rgblight_sethsv_noeeprom(hue, sat, val);
// wait_us(175); // Add a slight delay between color and mode to ensure it's processed correctly
rgblight_mode_noeeprom(mode);
@@ -48,6 +51,15 @@ uint32_t rgb_startup_animation(uint32_t triger_time, void *cb_arg) {
}
#endif
+bool is_rgblight_startup_running(void) {
+#if defined(RGBLIGHT_STARTUP_ANIMATION)
+ return is_rgblight_startup && is_keyboard_master();
+#else
+ return false;
+#endif
+}
+
+
void keyboard_post_init_rgb_light(void) {
#if defined(RGBLIGHT_STARTUP_ANIMATION)
is_enabled = rgblight_is_enabled();
@@ -121,3 +133,33 @@ layer_state_t default_layer_state_set_rgb_light(layer_state_t state) {
}
return state;
}
+
+#define _RGBM_SINGLE_STATIC(sym) \
+ case RGBLIGHT_MODE_##sym: \
+ return #sym;
+#define _RGBM_SINGLE_DYNAMIC(sym) \
+ case RGBLIGHT_MODE_##sym: \
+ return #sym;
+#define _RGBM_MULTI_STATIC(sym) \
+ case RGBLIGHT_MODE_##sym: \
+ return #sym;
+#define _RGBM_MULTI_DYNAMIC(sym) \
+ case RGBLIGHT_MODE_##sym: \
+ return #sym;
+#define _RGBM_TMP_STATIC(sym, msym) \
+ case RGBLIGHT_MODE_##sym: \
+ return #msym;
+#define _RGBM_TMP_DYNAMIC(sym, msym) \
+ case RGBLIGHT_MODE_##sym: \
+ return #msym;
+
+
+const char* rgblight_name(uint8_t effect) {
+ switch (effect) {
+#include "rgblight_modes.h"
+ case 0:
+ return "Off";
+ default:
+ return "UNKNOWN";
+ }
+}