~ruther/qmk_firmware

7da97c293da851851c204af065a0c8d2f884effd — Drashna Jaelre 4 years ago 85351dc
Rgb matrix/enable modes explicitly (#13758)

* Change animations to require explicet activation

* Add support for legacy config

* Make default for now

* Add LED Matrix support

* change LED Matrix docs
51 files changed, 359 insertions(+), 122 deletions(-)

M docs/feature_led_matrix.md
M docs/feature_rgb_matrix.md
M quantum/led_matrix/animations/alpha_mods_anim.h
M quantum/led_matrix/animations/band_anim.h
M quantum/led_matrix/animations/band_pinwheel_anim.h
M quantum/led_matrix/animations/band_spiral_anim.h
M quantum/led_matrix/animations/breathing_anim.h
M quantum/led_matrix/animations/cycle_left_right_anim.h
M quantum/led_matrix/animations/cycle_out_in_anim.h
M quantum/led_matrix/animations/cycle_up_down_anim.h
M quantum/led_matrix/animations/dual_beacon_anim.h
M quantum/led_matrix/animations/solid_reactive_cross.h
M quantum/led_matrix/animations/solid_reactive_nexus.h
M quantum/led_matrix/animations/solid_reactive_simple_anim.h
M quantum/led_matrix/animations/solid_reactive_wide.h
M quantum/led_matrix/animations/solid_splash_anim.h
M quantum/led_matrix/animations/wave_left_right_anim.h
M quantum/led_matrix/animations/wave_up_down_anim.h
M quantum/led_matrix/led_matrix.h
A quantum/led_matrix/led_matrix_legacy_enables.h
M quantum/process_keycode/process_rgb.c
M quantum/rgb_matrix/animations/alpha_mods_anim.h
M quantum/rgb_matrix/animations/breathing_anim.h
M quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h
M quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h
M quantum/rgb_matrix/animations/colorband_sat_anim.h
M quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h
M quantum/rgb_matrix/animations/colorband_spiral_val_anim.h
M quantum/rgb_matrix/animations/colorband_val_anim.h
M quantum/rgb_matrix/animations/cycle_all_anim.h
M quantum/rgb_matrix/animations/cycle_left_right_anim.h
M quantum/rgb_matrix/animations/cycle_out_in_anim.h
M quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h
M quantum/rgb_matrix/animations/cycle_pinwheel_anim.h
M quantum/rgb_matrix/animations/cycle_spiral_anim.h
M quantum/rgb_matrix/animations/cycle_up_down_anim.h
M quantum/rgb_matrix/animations/dual_beacon_anim.h
M quantum/rgb_matrix/animations/gradient_left_right_anim.h
M quantum/rgb_matrix/animations/gradient_up_down_anim.h
M quantum/rgb_matrix/animations/hue_breathing_anim.h
M quantum/rgb_matrix/animations/hue_pendulum_anim.h
M quantum/rgb_matrix/animations/hue_wave_anim.h
M quantum/rgb_matrix/animations/jellybean_raindrops_anim.h
M quantum/rgb_matrix/animations/rainbow_beacon_anim.h
M quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h
M quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h
M quantum/rgb_matrix/animations/raindrops_anim.h
M quantum/rgb_matrix/animations/typing_heatmap_anim.h
M quantum/rgb_matrix/rgb_matrix.c
M quantum/rgb_matrix/rgb_matrix.h
A quantum/rgb_matrix/rgb_matrix_legacy_enables.h
M docs/feature_led_matrix.md => docs/feature_led_matrix.md +20 -20
@@ 164,26 164,26 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con

|Define                                                 |Description                                    |
|-------------------------------------------------------|-----------------------------------------------|
|`#define DISABLE_LED_MATRIX_ALPHAS_MODS`               |Disables `LED_MATRIX_ALPHAS_MODS`              |
|`#define DISABLE_LED_MATRIX_BREATHING`                 |Disables `LED_MATRIX_BREATHING`                |
|`#define DISABLE_LED_MATRIX_BAND`                      |Disables `LED_MATRIX_BAND`                     |
|`#define DISABLE_LED_MATRIX_BAND_PINWHEEL`             |Disables `LED_MATRIX_BAND_PINWHEEL`            |
|`#define DISABLE_LED_MATRIX_BAND_SPIRAL`               |Disables `LED_MATRIX_BAND_SPIRAL`              |
|`#define DISABLE_LED_MATRIX_CYCLE_LEFT_RIGHT`          |Disables `LED_MATRIX_CYCLE_LEFT_RIGHT`         |
|`#define DISABLE_LED_MATRIX_CYCLE_UP_DOWN`             |Disables `LED_MATRIX_CYCLE_UP_DOWN`            |
|`#define DISABLE_LED_MATRIX_CYCLE_OUT_IN`              |Disables `LED_MATRIX_CYCLE_OUT_IN`             |
|`#define DISABLE_LED_MATRIX_DUAL_BEACON`               |Disables `LED_MATRIX_DUAL_BEACON`              |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE`     |Disables `LED_MATRIX_SOLID_REACTIVE_SIMPLE`    |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE`       |Disables `LED_MATRIX_SOLID_REACTIVE_WIDE`      |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE`  |Disables `LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS`      |Disables `LED_MATRIX_SOLID_REACTIVE_CROSS`     |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS`      |Disables `LED_MATRIX_SOLID_REACTIVE_NEXUS`     |
|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define DISABLE_LED_MATRIX_SOLID_SPLASH`              |Disables `LED_MATRIX_SOLID_SPLASH`             |
|`#define DISABLE_LED_MATRIX_SOLID_MULTISPLASH`         |Disables `LED_MATRIX_SOLID_MULTISPLASH`        |
|`#define DISABLE_LED_MATRIX_WAVE_LEFT_RIGHT`           |Disables `LED_MATRIX_WAVE_LEFT_RIGHT`          |
|`#define DISABLE_LED_MATRIX_WAVE_UP_DOWN`              |Disables `LED_MATRIX_WAVE_UP_DOWN`             |
|`#define ENABLE_LED_MATRIX_ALPHAS_MODS`                |Enables `LED_MATRIX_ALPHAS_MODS`              |
|`#define ENABLE_LED_MATRIX_BREATHING`                  |Enables `LED_MATRIX_BREATHING`                |
|`#define ENABLE_LED_MATRIX_BAND`                       |Enables `LED_MATRIX_BAND`                     |
|`#define ENABLE_LED_MATRIX_BAND_PINWHEEL`              |Enables `LED_MATRIX_BAND_PINWHEEL`            |
|`#define ENABLE_LED_MATRIX_BAND_SPIRAL`                |Enables `LED_MATRIX_BAND_SPIRAL`              |
|`#define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT`           |Enables `LED_MATRIX_CYCLE_LEFT_RIGHT`         |
|`#define ENABLE_LED_MATRIX_CYCLE_UP_DOWN`              |Enables `LED_MATRIX_CYCLE_UP_DOWN`            |
|`#define ENABLE_LED_MATRIX_CYCLE_OUT_IN`               |Enables `LED_MATRIX_CYCLE_OUT_IN`             |
|`#define ENABLE_LED_MATRIX_DUAL_BEACON`                |Enables `LED_MATRIX_DUAL_BEACON`              |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE`      |Enables `LED_MATRIX_SOLID_REACTIVE_SIMPLE`    |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE`        |Enables `LED_MATRIX_SOLID_REACTIVE_WIDE`      |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE`   |Enables `LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS`       |Enables `LED_MATRIX_SOLID_REACTIVE_CROSS`     |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS`  |Enables `LED_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS`       |Enables `LED_MATRIX_SOLID_REACTIVE_NEXUS`     |
|`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS`  |Enables `LED_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define ENABLE_LED_MATRIX_SOLID_SPLASH`               |Enables `LED_MATRIX_SOLID_SPLASH`             |
|`#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH`          |Enables `LED_MATRIX_SOLID_MULTISPLASH`        |
|`#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT`            |Enables `LED_MATRIX_WAVE_LEFT_RIGHT`          |
|`#define ENABLE_LED_MATRIX_WAVE_UP_DOWN`               |Enables `LED_MATRIX_WAVE_UP_DOWN`             |

## Custom LED Matrix Effects :id=custom-led-matrix-effects


M docs/feature_rgb_matrix.md => docs/feature_rgb_matrix.md +40 -40
@@ 448,46 448,46 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con

|Define                                                 |Description                                    |
|-------------------------------------------------------|-----------------------------------------------|
|`#define DISABLE_RGB_MATRIX_ALPHAS_MODS`               |Disables `RGB_MATRIX_ALPHAS_MODS`              |
|`#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN`          |Disables `RGB_MATRIX_GRADIENT_UP_DOWN`         |
|`#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT`       |Disables `MATRIX_GRADIENT_LEFT_RIGHT`          |
|`#define DISABLE_RGB_MATRIX_BREATHING`                 |Disables `RGB_MATRIX_BREATHING`                |
|`#define DISABLE_RGB_MATRIX_BAND_SAT`                  |Disables `RGB_MATRIX_BAND_SAT`                 |
|`#define DISABLE_RGB_MATRIX_BAND_VAL`                  |Disables `RGB_MATRIX_BAND_VAL`                 |
|`#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT`         |Disables `RGB_MATRIX_BAND_PINWHEEL_SAT`        |
|`#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL`         |Disables `RGB_MATRIX_BAND_PINWHEEL_VAL`        |
|`#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT`           |Disables `RGB_MATRIX_BAND_SPIRAL_SAT`          |
|`#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL`           |Disables `RGB_MATRIX_BAND_SPIRAL_VAL`          |
|`#define DISABLE_RGB_MATRIX_CYCLE_ALL`                 |Disables `RGB_MATRIX_CYCLE_ALL`                |
|`#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT`          |Disables `RGB_MATRIX_CYCLE_LEFT_RIGHT`         |
|`#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN`             |Disables `RGB_MATRIX_CYCLE_UP_DOWN`            |
|`#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON`    |Disables `RGB_MATRIX_RAINBOW_MOVING_CHEVRON`   |
|`#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN`              |Disables `RGB_MATRIX_CYCLE_OUT_IN`             |
|`#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL`         |Disables `RGB_MATRIX_CYCLE_OUT_IN_DUAL`        |
|`#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL`            |Disables `RGB_MATRIX_CYCLE_PINWHEEL`           |
|`#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL`              |Disables `RGB_MATRIX_CYCLE_SPIRAL`             |
|`#define DISABLE_RGB_MATRIX_DUAL_BEACON`               |Disables `RGB_MATRIX_DUAL_BEACON`              |
|`#define DISABLE_RGB_MATRIX_RAINBOW_BEACON`            |Disables `RGB_MATRIX_RAINBOW_BEACON`           |
|`#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS`         |Disables `RGB_MATRIX_RAINBOW_PINWHEELS`        |
|`#define DISABLE_RGB_MATRIX_RAINDROPS`                 |Disables `RGB_MATRIX_RAINDROPS`                |
|`#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS`       |Disables `RGB_MATRIX_JELLYBEAN_RAINDROPS`      |
|`#define DISABLE_RGB_MATRIX_HUE_BREATHING`             |Disables `RGB_MATRIX_HUE_BREATHING`            |
|`#define DISABLE_RGB_MATRIX_HUE_PENDULUM`              |Disables `RGB_MATRIX_HUE_PENDULUM`             |
|`#define DISABLE_RGB_MATRIX_HUE_WAVE `                 |Disables `RGB_MATRIX_HUE_WAVE `                |
|`#define DISABLE_RGB_MATRIX_TYPING_HEATMAP`            |Disables `RGB_MATRIX_TYPING_HEATMAP`           |
|`#define DISABLE_RGB_MATRIX_DIGITAL_RAIN`              |Disables `RGB_MATRIX_DIGITAL_RAIN`             |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE`     |Disables `RGB_MATRIX_SOLID_REACTIVE_SIMPLE`    |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE`            |Disables `RGB_MATRIX_SOLID_REACTIVE`           |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE`       |Disables `RGB_MATRIX_SOLID_REACTIVE_WIDE`      |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE`  |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS`      |Disables `RGB_MATRIX_SOLID_REACTIVE_CROSS`     |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS`      |Disables `RGB_MATRIX_SOLID_REACTIVE_NEXUS`     |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define DISABLE_RGB_MATRIX_SPLASH`                    |Disables `RGB_MATRIX_SPLASH`                   |
|`#define DISABLE_RGB_MATRIX_MULTISPLASH`               |Disables `RGB_MATRIX_MULTISPLASH`              |
|`#define DISABLE_RGB_MATRIX_SOLID_SPLASH`              |Disables `RGB_MATRIX_SOLID_SPLASH`             |
|`#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH`         |Disables `RGB_MATRIX_SOLID_MULTISPLASH`        |
|`#define ENABLE_RGB_MATRIX_ALPHAS_MODS`               |Enables `RGB_MATRIX_ALPHAS_MODS`              |
|`#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN`          |Enables `RGB_MATRIX_GRADIENT_UP_DOWN`         |
|`#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT`       |Enables `MATRIX_GRADIENT_LEFT_RIGHT`          |
|`#define ENABLE_RGB_MATRIX_BREATHING`                 |Enables `RGB_MATRIX_BREATHING`                |
|`#define ENABLE_RGB_MATRIX_BAND_SAT`                  |Enables `RGB_MATRIX_BAND_SAT`                 |
|`#define ENABLE_RGB_MATRIX_BAND_VAL`                  |Enables `RGB_MATRIX_BAND_VAL`                 |
|`#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT`         |Enables `RGB_MATRIX_BAND_PINWHEEL_SAT`        |
|`#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL`         |Enables `RGB_MATRIX_BAND_PINWHEEL_VAL`        |
|`#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT`           |Enables `RGB_MATRIX_BAND_SPIRAL_SAT`          |
|`#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL`           |Enables `RGB_MATRIX_BAND_SPIRAL_VAL`          |
|`#define ENABLE_RGB_MATRIX_CYCLE_ALL`                 |Enables `RGB_MATRIX_CYCLE_ALL`                |
|`#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT`          |Enables `RGB_MATRIX_CYCLE_LEFT_RIGHT`         |
|`#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN`             |Enables `RGB_MATRIX_CYCLE_UP_DOWN`            |
|`#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON`    |Enables `RGB_MATRIX_RAINBOW_MOVING_CHEVRON`   |
|`#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN`              |Enables `RGB_MATRIX_CYCLE_OUT_IN`             |
|`#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL`         |Enables `RGB_MATRIX_CYCLE_OUT_IN_DUAL`        |
|`#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL`            |Enables `RGB_MATRIX_CYCLE_PINWHEEL`           |
|`#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL`              |Enables `RGB_MATRIX_CYCLE_SPIRAL`             |
|`#define ENABLE_RGB_MATRIX_DUAL_BEACON`               |Enables `RGB_MATRIX_DUAL_BEACON`              |
|`#define ENABLE_RGB_MATRIX_RAINBOW_BEACON`            |Enables `RGB_MATRIX_RAINBOW_BEACON`           |
|`#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS`         |Enables `RGB_MATRIX_RAINBOW_PINWHEELS`        |
|`#define ENABLE_RGB_MATRIX_RAINDROPS`                 |Enables `RGB_MATRIX_RAINDROPS`                |
|`#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS`       |Enables `RGB_MATRIX_JELLYBEAN_RAINDROPS`      |
|`#define ENABLE_RGB_MATRIX_HUE_BREATHING`             |Enables `RGB_MATRIX_HUE_BREATHING`            |
|`#define ENABLE_RGB_MATRIX_HUE_PENDULUM`              |Enables `RGB_MATRIX_HUE_PENDULUM`             |
|`#define ENABLE_RGB_MATRIX_HUE_WAVE `                 |Enables `RGB_MATRIX_HUE_WAVE `                |
|`#define ENABLE_RGB_MATRIX_TYPING_HEATMAP`            |Enables `RGB_MATRIX_TYPING_HEATMAP`           |
|`#define ENABLE_RGB_MATRIX_DIGITAL_RAIN`              |Enables `RGB_MATRIX_DIGITAL_RAIN`             |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE`     |Enables `RGB_MATRIX_SOLID_REACTIVE_SIMPLE`    |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE`            |Enables `RGB_MATRIX_SOLID_REACTIVE`           |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE`       |Enables `RGB_MATRIX_SOLID_REACTIVE_WIDE`      |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE`  |Enables `RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS`      |Enables `RGB_MATRIX_SOLID_REACTIVE_CROSS`     |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS` |Enables `RGB_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS`      |Enables `RGB_MATRIX_SOLID_REACTIVE_NEXUS`     |
|`#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Enables `RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define ENABLE_RGB_MATRIX_SPLASH`                    |Enables `RGB_MATRIX_SPLASH`                   |
|`#define ENABLE_RGB_MATRIX_MULTISPLASH`               |Enables `RGB_MATRIX_MULTISPLASH`              |
|`#define ENABLE_RGB_MATRIX_SOLID_SPLASH`              |Enables `RGB_MATRIX_SOLID_SPLASH`             |
|`#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH`         |Enables `RGB_MATRIX_SOLID_MULTISPLASH`        |

### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap


M quantum/led_matrix/animations/alpha_mods_anim.h => quantum/led_matrix/animations/alpha_mods_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_ALPHAS_MODS
#ifdef ENABLE_LED_MATRIX_ALPHAS_MODS
LED_MATRIX_EFFECT(ALPHAS_MODS)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/band_anim.h => quantum/led_matrix/animations/band_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_BAND
#ifdef ENABLE_LED_MATRIX_BAND
LED_MATRIX_EFFECT(BAND)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/band_pinwheel_anim.h => quantum/led_matrix/animations/band_pinwheel_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_BAND_PINWHEEL
#ifdef ENABLE_LED_MATRIX_BAND_PINWHEEL
LED_MATRIX_EFFECT(BAND_PINWHEEL)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/band_spiral_anim.h => quantum/led_matrix/animations/band_spiral_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_BAND_SPIRAL
#ifdef ENABLE_LED_MATRIX_BAND_SPIRAL
LED_MATRIX_EFFECT(BAND_SPIRAL)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/breathing_anim.h => quantum/led_matrix/animations/breathing_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_BREATHING
#ifdef ENABLE_LED_MATRIX_BREATHING
LED_MATRIX_EFFECT(BREATHING)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/cycle_left_right_anim.h => quantum/led_matrix/animations/cycle_left_right_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
#ifdef ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
LED_MATRIX_EFFECT(CYCLE_LEFT_RIGHT)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/cycle_out_in_anim.h => quantum/led_matrix/animations/cycle_out_in_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_CYCLE_OUT_IN
#ifdef ENABLE_LED_MATRIX_CYCLE_OUT_IN
LED_MATRIX_EFFECT(CYCLE_OUT_IN)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/cycle_up_down_anim.h => quantum/led_matrix/animations/cycle_up_down_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_CYCLE_UP_DOWN
#ifdef ENABLE_LED_MATRIX_CYCLE_UP_DOWN
LED_MATRIX_EFFECT(CYCLE_UP_DOWN)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/dual_beacon_anim.h => quantum/led_matrix/animations/dual_beacon_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_DUAL_BEACON
#ifdef ENABLE_LED_MATRIX_DUAL_BEACON
LED_MATRIX_EFFECT(DUAL_BEACON)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/solid_reactive_cross.h => quantum/led_matrix/animations/solid_reactive_cross.h +4 -4
@@ 1,11 1,11 @@
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
#    if !defined(DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS) || !defined(DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS)

#        ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
#        ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
LED_MATRIX_EFFECT(SOLID_REACTIVE_CROSS)
#        endif

#        ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
#        ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
LED_MATRIX_EFFECT(SOLID_REACTIVE_MULTICROSS)
#        endif



@@ 22,11 22,11 @@ static uint8_t SOLID_REACTIVE_CROSS_math(uint8_t val, int16_t dx, int16_t dy, ui
    return qadd8(val, 255 - effect);
}

#            ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
#            ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
bool SOLID_REACTIVE_CROSS(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_CROSS_math); }
#            endif

#            ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
#            ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
bool SOLID_REACTIVE_MULTICROSS(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_CROSS_math); }
#            endif


M quantum/led_matrix/animations/solid_reactive_nexus.h => quantum/led_matrix/animations/solid_reactive_nexus.h +5 -5
@@ 1,11 1,11 @@
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
#    if !defined(DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS) || !defined(DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS)
#    if defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS) || defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS)

#        ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
#        ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
LED_MATRIX_EFFECT(SOLID_REACTIVE_NEXUS)
#        endif

#        ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
#        ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
LED_MATRIX_EFFECT(SOLID_REACTIVE_MULTINEXUS)
#        endif



@@ 19,11 19,11 @@ static uint8_t SOLID_REACTIVE_NEXUS_math(uint8_t val, int16_t dx, int16_t dy, ui
    return qadd8(val, 255 - effect);
}

#            ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
#            ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
bool SOLID_REACTIVE_NEXUS(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_NEXUS_math); }
#            endif

#            ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
#            ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
bool SOLID_REACTIVE_MULTINEXUS(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_NEXUS_math); }
#            endif


M quantum/led_matrix/animations/solid_reactive_simple_anim.h => quantum/led_matrix/animations/solid_reactive_simple_anim.h +1 -1
@@ 1,5 1,5 @@
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
#    ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
LED_MATRIX_EFFECT(SOLID_REACTIVE_SIMPLE)
#        ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/solid_reactive_wide.h => quantum/led_matrix/animations/solid_reactive_wide.h +4 -4
@@ 1,11 1,11 @@
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
#    if !defined(DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE) || !defined(DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE)

#        ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
#        ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
LED_MATRIX_EFFECT(SOLID_REACTIVE_WIDE)
#        endif

#        ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
#        ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
LED_MATRIX_EFFECT(SOLID_REACTIVE_MULTIWIDE)
#        endif



@@ 17,11 17,11 @@ static uint8_t SOLID_REACTIVE_WIDE_math(uint8_t val, int16_t dx, int16_t dy, uin
    return qadd8(val, 255 - effect);
}

#            ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
#            ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
bool SOLID_REACTIVE_WIDE(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_REACTIVE_WIDE_math); }
#            endif

#            ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
#            ifdef ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
bool SOLID_REACTIVE_MULTIWIDE(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_REACTIVE_WIDE_math); }
#            endif


M quantum/led_matrix/animations/solid_splash_anim.h => quantum/led_matrix/animations/solid_splash_anim.h +4 -4
@@ 1,11 1,11 @@
#ifdef LED_MATRIX_KEYREACTIVE_ENABLED
#    if !defined(DISABLE_LED_MATRIX_SOLID_SPLASH) || !defined(DISABLE_LED_MATRIX_SOLID_MULTISPLASH)

#        ifndef DISABLE_LED_MATRIX_SOLID_SPLASH
#        ifdef ENABLE_LED_MATRIX_SOLID_SPLASH
LED_MATRIX_EFFECT(SOLID_SPLASH)
#        endif

#        ifndef DISABLE_LED_MATRIX_SOLID_MULTISPLASH
#        ifdef ENABLE_LED_MATRIX_SOLID_MULTISPLASH
LED_MATRIX_EFFECT(SOLID_MULTISPLASH)
#        endif



@@ 17,11 17,11 @@ uint8_t SOLID_SPLASH_math(uint8_t val, int16_t dx, int16_t dy, uint8_t dist, uin
    return qadd8(val, 255 - effect);
}

#            ifndef DISABLE_LED_MATRIX_SOLID_SPLASH
#            ifdef ENABLE_LED_MATRIX_SOLID_SPLASH
bool SOLID_SPLASH(effect_params_t* params) { return effect_runner_reactive_splash(qsub8(g_last_hit_tracker.count, 1), params, &SOLID_SPLASH_math); }
#            endif

#            ifndef DISABLE_LED_MATRIX_SOLID_MULTISPLASH
#            ifdef ENABLE_LED_MATRIX_SOLID_MULTISPLASH
bool SOLID_MULTISPLASH(effect_params_t* params) { return effect_runner_reactive_splash(0, params, &SOLID_SPLASH_math); }
#            endif


M quantum/led_matrix/animations/wave_left_right_anim.h => quantum/led_matrix/animations/wave_left_right_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_WAVE_LEFT_RIGHT
#ifdef ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
LED_MATRIX_EFFECT(WAVE_LEFT_RIGHT)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/animations/wave_up_down_anim.h => quantum/led_matrix/animations/wave_up_down_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_LED_MATRIX_WAVE_UP_DOWN
#ifdef ENABLE_LED_MATRIX_WAVE_UP_DOWN
LED_MATRIX_EFFECT(WAVE_UP_DOWN)
#    ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/led_matrix/led_matrix.h => quantum/led_matrix/led_matrix.h +1 -0
@@ 23,6 23,7 @@
#include <stdbool.h>
#include "led_matrix_types.h"
#include "quantum.h"
#include "led_matrix_legacy_enables.h"

#ifdef IS31FL3731
#    include "is31fl3731-simple.h"

A quantum/led_matrix/led_matrix_legacy_enables.h => quantum/led_matrix/led_matrix_legacy_enables.h +82 -0
@@ 0,0 1,82 @@
/* Copyright 2021 QMK
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

// to-do: remove this

#pragma once

#ifndef DISABLE_LED_MATRIX_ALPHAS_MODS
#    define ENABLE_LED_MATRIX_ALPHAS_MODS
#endif
#ifndef DISABLE_LED_MATRIX_BREATHING
#    define ENABLE_LED_MATRIX_BREATHING
#endif
#ifndef DISABLE_LED_MATRIX_BAND
#    define ENABLE_LED_MATRIX_BAND
#endif
#ifndef DISABLE_LED_MATRIX_BAND_PINWHEEL
#    define ENABLE_LED_MATRIX_BAND_PINWHEEL
#endif
#ifndef DISABLE_LED_MATRIX_BAND_SPIRAL
#    define ENABLE_LED_MATRIX_BAND_SPIRAL
#endif
#ifndef DISABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
#    define ENABLE_LED_MATRIX_CYCLE_LEFT_RIGHT
#endif
#ifndef DISABLE_LED_MATRIX_CYCLE_UP_DOWN
#    define ENABLE_LED_MATRIX_CYCLE_UP_DOWN
#endif
#ifndef DISABLE_LED_MATRIX_CYCLE_OUT_IN
#    define ENABLE_LED_MATRIX_CYCLE_OUT_IN
#endif
#ifndef DISABLE_LED_MATRIX_DUAL_BEACON
#    define ENABLE_LED_MATRIX_DUAL_BEACON
#endif
#if defined(LED_MATRIX_KEYREACTIVE_ENABLED)
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE
#    endif
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE
#    endif
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE
#    endif
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS
#    endif
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS
#    endif
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS
#    endif
#    ifndef DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
#        define ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS
#    endif
#    ifndef DISABLE_LED_MATRIX_SPLASH
#        define ENABLE_LED_MATRIX_SPLASH
#    endif
#    ifndef DISABLE_LED_MATRIX_MULTISPLASH
#        define ENABLE_LED_MATRIX_MULTISPLASH
#    endif
#endif
#ifndef DISABLE_LED_MATRIX_WAVE_LEFT_RIGHT
#    define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT
#endif
#ifndef DISABLE_LED_MATRIX_WAVE_UP_DOWN
#    define ENABLE_LED_MATRIX_WAVE_UP_DOWN
#endif

M quantum/process_keycode/process_rgb.c => quantum/process_keycode/process_rgb.c +3 -3
@@ 161,7 161,7 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) {
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_BREATHING)
                handleKeycodeRGBMode(RGBLIGHT_MODE_BREATHING, RGBLIGHT_MODE_BREATHING_end);
#endif
#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && !defined(DISABLE_RGB_MATRIX_BREATHING)
#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && defined(ENABLE_RGB_MATRIX_BREATHING)
                rgb_matrix_mode(RGB_MATRIX_BREATHING);
#endif
                return false;


@@ 169,7 169,7 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) {
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_RAINBOW_MOOD)
                handleKeycodeRGBMode(RGBLIGHT_MODE_RAINBOW_MOOD, RGBLIGHT_MODE_RAINBOW_MOOD_end);
#endif
#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && !defined(DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT)
#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && defined(ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT)
                rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT);
#endif
                return false;


@@ 177,7 177,7 @@ bool process_rgb(const uint16_t keycode, const keyrecord_t *record) {
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_DISABLE_KEYCODES) && defined(RGBLIGHT_EFFECT_RAINBOW_SWIRL)
                handleKeycodeRGBMode(RGBLIGHT_MODE_RAINBOW_SWIRL, RGBLIGHT_MODE_RAINBOW_SWIRL_end);
#endif
#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && !defined(DISABLE_RGB_MATRIX_CYCLE_PINWHEEL)
#if defined(RGB_MATRIX_ENABLE) && !defined(RGB_MATRIX_DISABLE_KEYCODES) && defined(ENABLE_RGB_MATRIX_CYCLE_PINWHEEL)
                rgb_matrix_mode(RGB_MATRIX_CYCLE_PINWHEEL);
#endif
                return false;

M quantum/rgb_matrix/animations/alpha_mods_anim.h => quantum/rgb_matrix/animations/alpha_mods_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_ALPHAS_MODS
#ifdef ENABLE_RGB_MATRIX_ALPHAS_MODS
RGB_MATRIX_EFFECT(ALPHAS_MODS)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/breathing_anim.h => quantum/rgb_matrix/animations/breathing_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BREATHING
#ifdef ENABLE_RGB_MATRIX_BREATHING
RGB_MATRIX_EFFECT(BREATHING)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h => quantum/rgb_matrix/animations/colorband_pinwheel_sat_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#ifdef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
RGB_MATRIX_EFFECT(BAND_PINWHEEL_SAT)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h => quantum/rgb_matrix/animations/colorband_pinwheel_val_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#ifdef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
RGB_MATRIX_EFFECT(BAND_PINWHEEL_VAL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/colorband_sat_anim.h => quantum/rgb_matrix/animations/colorband_sat_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BAND_SAT
#ifdef ENABLE_RGB_MATRIX_BAND_SAT
RGB_MATRIX_EFFECT(BAND_SAT)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h => quantum/rgb_matrix/animations/colorband_spiral_sat_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#ifdef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
RGB_MATRIX_EFFECT(BAND_SPIRAL_SAT)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/colorband_spiral_val_anim.h => quantum/rgb_matrix/animations/colorband_spiral_val_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#ifdef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
RGB_MATRIX_EFFECT(BAND_SPIRAL_VAL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/colorband_val_anim.h => quantum/rgb_matrix/animations/colorband_val_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_BAND_VAL
#ifdef ENABLE_RGB_MATRIX_BAND_VAL
RGB_MATRIX_EFFECT(BAND_VAL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_all_anim.h => quantum/rgb_matrix/animations/cycle_all_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_ALL
#ifdef ENABLE_RGB_MATRIX_CYCLE_ALL
RGB_MATRIX_EFFECT(CYCLE_ALL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_left_right_anim.h => quantum/rgb_matrix/animations/cycle_left_right_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#ifdef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
RGB_MATRIX_EFFECT(CYCLE_LEFT_RIGHT)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_out_in_anim.h => quantum/rgb_matrix/animations/cycle_out_in_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_OUT_IN
#ifdef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
RGB_MATRIX_EFFECT(CYCLE_OUT_IN)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h => quantum/rgb_matrix/animations/cycle_out_in_dual_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#ifdef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
RGB_MATRIX_EFFECT(CYCLE_OUT_IN_DUAL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_pinwheel_anim.h => quantum/rgb_matrix/animations/cycle_pinwheel_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
#ifdef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
RGB_MATRIX_EFFECT(CYCLE_PINWHEEL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_spiral_anim.h => quantum/rgb_matrix/animations/cycle_spiral_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_SPIRAL
#ifdef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
RGB_MATRIX_EFFECT(CYCLE_SPIRAL)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/cycle_up_down_anim.h => quantum/rgb_matrix/animations/cycle_up_down_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
#ifdef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
RGB_MATRIX_EFFECT(CYCLE_UP_DOWN)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/dual_beacon_anim.h => quantum/rgb_matrix/animations/dual_beacon_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_DUAL_BEACON
#ifdef ENABLE_RGB_MATRIX_DUAL_BEACON
RGB_MATRIX_EFFECT(DUAL_BEACON)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/gradient_left_right_anim.h => quantum/rgb_matrix/animations/gradient_left_right_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#ifdef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
RGB_MATRIX_EFFECT(GRADIENT_LEFT_RIGHT)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/gradient_up_down_anim.h => quantum/rgb_matrix/animations/gradient_up_down_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#ifdef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
RGB_MATRIX_EFFECT(GRADIENT_UP_DOWN)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/hue_breathing_anim.h => quantum/rgb_matrix/animations/hue_breathing_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_HUE_BREATHING
#ifdef ENABLE_RGB_MATRIX_HUE_BREATHING
RGB_MATRIX_EFFECT(HUE_BREATHING)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/hue_pendulum_anim.h => quantum/rgb_matrix/animations/hue_pendulum_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_HUE_PENDULUM
#ifdef ENABLE_RGB_MATRIX_HUE_PENDULUM
RGB_MATRIX_EFFECT(HUE_PENDULUM)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/hue_wave_anim.h => quantum/rgb_matrix/animations/hue_wave_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_HUE_WAVE
#ifdef ENABLE_RGB_MATRIX_HUE_WAVE
RGB_MATRIX_EFFECT(HUE_WAVE)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/jellybean_raindrops_anim.h => quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#ifdef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
RGB_MATRIX_EFFECT(JELLYBEAN_RAINDROPS)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/rainbow_beacon_anim.h => quantum/rgb_matrix/animations/rainbow_beacon_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_RAINBOW_BEACON
#ifdef ENABLE_RGB_MATRIX_RAINBOW_BEACON
RGB_MATRIX_EFFECT(RAINBOW_BEACON)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h => quantum/rgb_matrix/animations/rainbow_moving_chevron_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#ifdef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
RGB_MATRIX_EFFECT(RAINBOW_MOVING_CHEVRON)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h => quantum/rgb_matrix/animations/rainbow_pinwheels_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#ifdef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
RGB_MATRIX_EFFECT(RAINBOW_PINWHEELS)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/raindrops_anim.h => quantum/rgb_matrix/animations/raindrops_anim.h +1 -1
@@ 1,4 1,4 @@
#ifndef DISABLE_RGB_MATRIX_RAINDROPS
#ifdef ENABLE_RGB_MATRIX_RAINDROPS
RGB_MATRIX_EFFECT(RAINDROPS)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/animations/typing_heatmap_anim.h => quantum/rgb_matrix/animations/typing_heatmap_anim.h +1 -1
@@ 1,4 1,4 @@
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP)
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP)
RGB_MATRIX_EFFECT(TYPING_HEATMAP)
#    ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS


M quantum/rgb_matrix/rgb_matrix.c => quantum/rgb_matrix/rgb_matrix.c +3 -3
@@ 92,7 92,7 @@ __attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { return hsv_to_rgb(hsv
#endif

#if !defined(RGB_MATRIX_STARTUP_MODE)
#    ifndef DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#    ifdef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#        define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
#    else
// fallback to solid colors if RGB_MATRIX_CYCLE_LEFT_RIGHT is disabled in userspace


@@ 243,11 243,11 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) {
    }
#endif  // RGB_MATRIX_KEYREACTIVE_ENABLED

#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP)
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP)
    if (rgb_matrix_config.mode == RGB_MATRIX_TYPING_HEATMAP) {
        process_rgb_matrix_typing_heatmap(row, col);
    }
#endif  // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP)
#endif  // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP)
}

void rgb_matrix_test(void) {

M quantum/rgb_matrix/rgb_matrix.h => quantum/rgb_matrix/rgb_matrix.h +1 -0
@@ 23,6 23,7 @@
#include "rgb_matrix_types.h"
#include "color.h"
#include "quantum.h"
#include "rgb_matrix_legacy_enables.h"

#ifdef IS31FL3731
#    include "is31fl3731.h"

A quantum/rgb_matrix/rgb_matrix_legacy_enables.h => quantum/rgb_matrix/rgb_matrix_legacy_enables.h +153 -0
@@ 0,0 1,153 @@
/* Copyright 2021 QMK
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

// to-do: remove this

#pragma once

#ifndef DISABLE_RGB_MATRIX_ALPHAS_MODS
#    define ENABLE_RGB_MATRIX_ALPHAS_MODS
#endif
#ifndef DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#    define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#endif
#ifndef DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#    define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#endif
#ifndef DISABLE_RGB_MATRIX_BREATHING
#    define ENABLE_RGB_MATRIX_BREATHING
#endif
#ifndef DISABLE_RGB_MATRIX_BAND_SAT
#    define ENABLE_RGB_MATRIX_BAND_SAT
#endif
#ifndef DISABLE_RGB_MATRIX_BAND_VAL
#    define ENABLE_RGB_MATRIX_BAND_VAL
#endif
#ifndef DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#endif
#ifndef DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#    define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#endif
#ifndef DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#endif
#ifndef DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#    define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_ALL
#    define ENABLE_RGB_MATRIX_CYCLE_ALL
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#    define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
#    define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#endif
#ifndef DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#    define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_OUT_IN
#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#    define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
#    define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#endif
#ifndef DISABLE_RGB_MATRIX_CYCLE_SPIRAL
#    define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#endif
#ifndef DISABLE_RGB_MATRIX_DUAL_BEACON
#    define ENABLE_RGB_MATRIX_DUAL_BEACON
#endif
#ifndef DISABLE_RGB_MATRIX_RAINBOW_BEACON
#    define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#endif
#ifndef DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#    define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#endif
#ifndef DISABLE_RGB_MATRIX_RAINDROPS
#    define ENABLE_RGB_MATRIX_RAINDROPS
#endif
#ifndef DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#    define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#endif
#ifndef DISABLE_RGB_MATRIX_HUE_BREATHING
#    define ENABLE_RGB_MATRIX_HUE_BREATHING
#endif
#ifndef DISABLE_RGB_MATRIX_HUE_PENDULUM
#    define ENABLE_RGB_MATRIX_HUE_PENDULUM
#endif
#ifndef DISABLE_RGB_MATRIX_HUE_WAVE
#    define ENABLE_RGB_MATRIX_HUE_WAVE
#endif
#ifndef DISABLE_RGB_MATRIX_PIXEL_RAIN
#    define ENABLE_RGB_MATRIX_PIXEL_RAIN
#endif
#ifndef DISABLE_RGB_MATRIX_PIXEL_FLOW
#    define ENABLE_RGB_MATRIX_PIXEL_FLOW
#endif
#ifndef DISABLE_RGB_MATRIX_PIXEL_FRACTAL
#    define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#endif
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
#    ifndef DISABLE_RGB_MATRIX_TYPING_HEATMAP
#        define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#    endif
#    ifndef DISABLE_RGB_MATRIX_DIGITAL_RAIN
#        define ENABLE_RGB_MATRIX_DIGITAL_RAIN
#    endif
#endif
#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED)
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#        define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#    endif
#    ifndef DISABLE_RGB_MATRIX_SPLASH
#        define ENABLE_RGB_MATRIX_SPLASH
#    endif
#    ifndef DISABLE_RGB_MATRIX_MULTISPLASH
#        define ENABLE_RGB_MATRIX_MULTISPLASH
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_SPLASH
#        define ENABLE_RGB_MATRIX_SOLID_SPLASH
#    endif
#    ifndef DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    endif
#endif