/* SPDX-License-Identifier: GPL-2.0-or-later */ /* Note - never reorder or remove these, only add new animations at the end */ enum { VIALRGB_EFFECT_OFF = 0, VIALRGB_EFFECT_DIRECT, VIALRGB_EFFECT_SOLID_COLOR, VIALRGB_EFFECT_ALPHAS_MODS, VIALRGB_EFFECT_GRADIENT_UP_DOWN, VIALRGB_EFFECT_GRADIENT_LEFT_RIGHT, VIALRGB_EFFECT_BREATHING, VIALRGB_EFFECT_BAND_SAT, VIALRGB_EFFECT_BAND_VAL, VIALRGB_EFFECT_BAND_PINWHEEL_SAT, VIALRGB_EFFECT_BAND_PINWHEEL_VAL, VIALRGB_EFFECT_BAND_SPIRAL_SAT, VIALRGB_EFFECT_BAND_SPIRAL_VAL, VIALRGB_EFFECT_CYCLE_ALL, VIALRGB_EFFECT_CYCLE_LEFT_RIGHT, VIALRGB_EFFECT_CYCLE_UP_DOWN, VIALRGB_EFFECT_RAINBOW_MOVING_CHEVRON, VIALRGB_EFFECT_CYCLE_OUT_IN, VIALRGB_EFFECT_CYCLE_OUT_IN_DUAL, VIALRGB_EFFECT_CYCLE_PINWHEEL, VIALRGB_EFFECT_CYCLE_SPIRAL, VIALRGB_EFFECT_DUAL_BEACON, VIALRGB_EFFECT_RAINBOW_BEACON, VIALRGB_EFFECT_RAINBOW_PINWHEELS, VIALRGB_EFFECT_RAINDROPS, VIALRGB_EFFECT_JELLYBEAN_RAINDROPS, VIALRGB_EFFECT_HUE_BREATHING, VIALRGB_EFFECT_HUE_PENDULUM, VIALRGB_EFFECT_HUE_WAVE, VIALRGB_EFFECT_TYPING_HEATMAP, VIALRGB_EFFECT_DIGITAL_RAIN, VIALRGB_EFFECT_SOLID_REACTIVE_SIMPLE, VIALRGB_EFFECT_SOLID_REACTIVE, VIALRGB_EFFECT_SOLID_REACTIVE_WIDE, VIALRGB_EFFECT_SOLID_REACTIVE_MULTIWIDE, VIALRGB_EFFECT_SOLID_REACTIVE_CROSS, VIALRGB_EFFECT_SOLID_REACTIVE_MULTICROSS, VIALRGB_EFFECT_SOLID_REACTIVE_NEXUS, VIALRGB_EFFECT_SOLID_REACTIVE_MULTINEXUS, VIALRGB_EFFECT_SPLASH, VIALRGB_EFFECT_MULTISPLASH, VIALRGB_EFFECT_SOLID_SPLASH, VIALRGB_EFFECT_SOLID_MULTISPLASH, }; static const PROGMEM vialrgb_supported_mode_t supported_modes[] = { { VIALRGB_EFFECT_OFF, 0 }, #ifdef RGB_MATRIX_EFFECT_VIALRGB_DIRECT { VIALRGB_EFFECT_DIRECT, RGB_MATRIX_VIALRGB_DIRECT }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_COLOR { VIALRGB_EFFECT_SOLID_COLOR, RGB_MATRIX_SOLID_COLOR }, #endif #ifdef RGB_MATRIX_EFFECT_ALPHAS_MODS { VIALRGB_EFFECT_ALPHAS_MODS, RGB_MATRIX_ALPHAS_MODS }, #endif #ifdef RGB_MATRIX_EFFECT_GRADIENT_UP_DOWN { VIALRGB_EFFECT_GRADIENT_UP_DOWN, RGB_MATRIX_GRADIENT_UP_DOWN }, #endif #ifdef RGB_MATRIX_EFFECT_GRADIENT_LEFT_RIGHT { VIALRGB_EFFECT_GRADIENT_LEFT_RIGHT, RGB_MATRIX_GRADIENT_LEFT_RIGHT }, #endif #ifdef RGB_MATRIX_EFFECT_BREATHING { VIALRGB_EFFECT_BREATHING, RGB_MATRIX_BREATHING }, #endif #ifdef RGB_MATRIX_EFFECT_BAND_SAT { VIALRGB_EFFECT_BAND_SAT, RGB_MATRIX_BAND_SAT }, #endif #ifdef RGB_MATRIX_EFFECT_BAND_VAL { VIALRGB_EFFECT_BAND_VAL, RGB_MATRIX_BAND_VAL }, #endif #ifdef RGB_MATRIX_EFFECT_BAND_PINWHEEL_SAT { VIALRGB_EFFECT_BAND_PINWHEEL_SAT, RGB_MATRIX_BAND_PINWHEEL_SAT }, #endif #ifdef RGB_MATRIX_EFFECT_BAND_PINWHEEL_VAL { VIALRGB_EFFECT_BAND_PINWHEEL_VAL, RGB_MATRIX_BAND_PINWHEEL_VAL }, #endif #ifdef RGB_MATRIX_EFFECT_BAND_SPIRAL_SAT { VIALRGB_EFFECT_BAND_SPIRAL_SAT, RGB_MATRIX_BAND_SPIRAL_SAT }, #endif #ifdef RGB_MATRIX_EFFECT_BAND_SPIRAL_VAL { VIALRGB_EFFECT_BAND_SPIRAL_VAL, RGB_MATRIX_BAND_SPIRAL_VAL }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_ALL { VIALRGB_EFFECT_CYCLE_ALL, RGB_MATRIX_CYCLE_ALL }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_LEFT_RIGHT { VIALRGB_EFFECT_CYCLE_LEFT_RIGHT, RGB_MATRIX_CYCLE_LEFT_RIGHT }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_UP_DOWN { VIALRGB_EFFECT_CYCLE_UP_DOWN, RGB_MATRIX_CYCLE_UP_DOWN }, #endif #ifdef RGB_MATRIX_EFFECT_RAINBOW_MOVING_CHEVRON { VIALRGB_EFFECT_RAINBOW_MOVING_CHEVRON, RGB_MATRIX_RAINBOW_MOVING_CHEVRON }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_OUT_IN { VIALRGB_EFFECT_CYCLE_OUT_IN, RGB_MATRIX_CYCLE_OUT_IN }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_OUT_IN_DUAL { VIALRGB_EFFECT_CYCLE_OUT_IN_DUAL, RGB_MATRIX_CYCLE_OUT_IN_DUAL }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_PINWHEEL { VIALRGB_EFFECT_CYCLE_PINWHEEL, RGB_MATRIX_CYCLE_PINWHEEL }, #endif #ifdef RGB_MATRIX_EFFECT_CYCLE_SPIRAL { VIALRGB_EFFECT_CYCLE_SPIRAL, RGB_MATRIX_CYCLE_SPIRAL }, #endif #ifdef RGB_MATRIX_EFFECT_DUAL_BEACON { VIALRGB_EFFECT_DUAL_BEACON, RGB_MATRIX_DUAL_BEACON }, #endif #ifdef RGB_MATRIX_EFFECT_RAINBOW_BEACON { VIALRGB_EFFECT_RAINBOW_BEACON, RGB_MATRIX_RAINBOW_BEACON }, #endif #ifdef RGB_MATRIX_EFFECT_RAINBOW_PINWHEELS { VIALRGB_EFFECT_RAINBOW_PINWHEELS, RGB_MATRIX_RAINBOW_PINWHEELS }, #endif #ifdef RGB_MATRIX_EFFECT_RAINDROPS { VIALRGB_EFFECT_RAINDROPS, RGB_MATRIX_RAINDROPS }, #endif #ifdef RGB_MATRIX_EFFECT_JELLYBEAN_RAINDROPS { VIALRGB_EFFECT_JELLYBEAN_RAINDROPS, RGB_MATRIX_JELLYBEAN_RAINDROPS }, #endif #ifdef RGB_MATRIX_EFFECT_HUE_BREATHING { VIALRGB_EFFECT_HUE_BREATHING, RGB_MATRIX_HUE_BREATHING }, #endif #ifdef RGB_MATRIX_EFFECT_HUE_PENDULUM { VIALRGB_EFFECT_HUE_PENDULUM, RGB_MATRIX_HUE_PENDULUM }, #endif #ifdef RGB_MATRIX_EFFECT_HUE_WAVE { VIALRGB_EFFECT_HUE_WAVE, RGB_MATRIX_HUE_WAVE }, #endif #ifdef RGB_MATRIX_EFFECT_TYPING_HEATMAP { VIALRGB_EFFECT_TYPING_HEATMAP, RGB_MATRIX_TYPING_HEATMAP }, #endif #ifdef RGB_MATRIX_EFFECT_DIGITAL_RAIN { VIALRGB_EFFECT_DIGITAL_RAIN, RGB_MATRIX_DIGITAL_RAIN }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_SIMPLE { VIALRGB_EFFECT_SOLID_REACTIVE_SIMPLE, RGB_MATRIX_SOLID_REACTIVE_SIMPLE }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE { VIALRGB_EFFECT_SOLID_REACTIVE, RGB_MATRIX_SOLID_REACTIVE }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_WIDE { VIALRGB_EFFECT_SOLID_REACTIVE_WIDE, RGB_MATRIX_SOLID_REACTIVE_WIDE }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_MULTIWIDE { VIALRGB_EFFECT_SOLID_REACTIVE_MULTIWIDE, RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_CROSS { VIALRGB_EFFECT_SOLID_REACTIVE_CROSS, RGB_MATRIX_SOLID_REACTIVE_CROSS }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_MULTICROSS { VIALRGB_EFFECT_SOLID_REACTIVE_MULTICROSS, RGB_MATRIX_SOLID_REACTIVE_MULTICROSS }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_NEXUS { VIALRGB_EFFECT_SOLID_REACTIVE_NEXUS, RGB_MATRIX_SOLID_REACTIVE_NEXUS }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_REACTIVE_MULTINEXUS { VIALRGB_EFFECT_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS }, #endif #ifdef RGB_MATRIX_EFFECT_SPLASH { VIALRGB_EFFECT_SPLASH, RGB_MATRIX_SPLASH }, #endif #ifdef RGB_MATRIX_EFFECT_MULTISPLASH { VIALRGB_EFFECT_MULTISPLASH, RGB_MATRIX_MULTISPLASH }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_SPLASH { VIALRGB_EFFECT_SOLID_SPLASH, RGB_MATRIX_SOLID_SPLASH }, #endif #ifdef RGB_MATRIX_EFFECT_SOLID_MULTISPLASH { VIALRGB_EFFECT_SOLID_MULTISPLASH, RGB_MATRIX_SOLID_MULTISPLASH }, #endif };