summaryrefslogtreecommitdiff
path: root/keyboards/voyager/rgb_matrix_kb.inc
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/voyager/rgb_matrix_kb.inc')
-rw-r--r--keyboards/voyager/rgb_matrix_kb.inc32
1 files changed, 32 insertions, 0 deletions
diff --git a/keyboards/voyager/rgb_matrix_kb.inc b/keyboards/voyager/rgb_matrix_kb.inc
new file mode 100644
index 0000000000..18cf39dfac
--- /dev/null
+++ b/keyboards/voyager/rgb_matrix_kb.inc
@@ -0,0 +1,32 @@
+#ifdef RGB_MATRIX_ENABLE
+RGB_MATRIX_EFFECT(oryx_webhid_effect)
+# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+static void oryx_webhid_effect_init(void) {
+ // Paint it black
+ for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
+ webhid_leds[i] = (RGB){0, 0, 0};
+ }
+}
+
+static bool oryx_webhid_effect_run(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+ uint8_t val = rgb_matrix_get_val() * 100 / 175;
+ if(val == 0) {
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ else {
+ for (uint8_t i = led_min; i < led_max; ++i) {
+ rgb_matrix_set_color(i, webhid_leds[i].r * val / 100, webhid_leds[i].g * val / 100, webhid_leds[i].b * val / 100);
+ }
+ }
+ return rgb_matrix_check_finished_leds(led_max);
+}
+
+static bool oryx_webhid_effect(effect_params_t* params) {
+ if (params->init) oryx_webhid_effect_init();
+ return oryx_webhid_effect_run(params);
+}
+
+# endif
+#endif