diff options
Diffstat (limited to 'keyboards/voyager/rgb_matrix_kb.inc')
-rw-r--r-- | keyboards/voyager/rgb_matrix_kb.inc | 32 |
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 |