023d644bb69748d97feb49091e2c24f3fcd3da11

Author
Ryan <fauxpark@gmail.com>
Committer
GitHub <noreply@github.com>
Date

Message

Move RGBLight animations to data driven (#21635)

* Move RGBLight animations to data driven, 0-9

* Move RGBLight animations to data driven, A

* Move RGBLight animations to data driven, B

* Move RGBLight animations to data driven, C

* Move RGBLight animations to data driven, D

* Move RGBLight animations to data driven, E

* Move RGBLight animations to data driven, F

* Move RGBLight animations to data driven, G

* Move RGBLight animations to data driven, H

* Move RGBLight animations to data driven, handwired

* Move RGBLight animations to data driven, I

* Move RGBLight animations to data driven, J

* Move RGBLight animations to data driven, K

* Move RGBLight animations to data driven, L

* Move RGBLight animations to data driven, M

* Move RGBLight animations to data driven, N

* Move RGBLight animations to data driven, O

* Move RGBLight animations to data driven, P

* Move RGBLight animations to data driven, Q

* Move RGBLight animations to data driven, R

* Move RGBLight animations to data driven, S

* Move RGBLight animations to data driven, T

* Move RGBLight animations to data driven, U

* Move RGBLight animations to data driven, V

* Move RGBLight animations to data driven, W

* Move RGBLight animations to data driven, X

* Move RGBLight animations to data driven, Y

* Move RGBLight animations to data driven, Z

* Fix incorrect placement

* Fix build failures and mismatches

Diff

This diff is truncated to protect this page.

   1diff --git a/keyboards/0_sixty/underglow/config.h b/keyboards/0_sixty/underglow/config.h
   2index 2d4eaa013a8844b269342c529e4a958ff2782d0c..0d5edf494ea880c09b8fbbcc9138adcec1f60c97 100644
   3--- a/keyboards/0_sixty/underglow/config.h
   4+++ b/keyboards/0_sixty/underglow/config.h
   5@@ -16,20 +16,6 @@
   6 
   7 #pragma once
   8 
   9-
  10-/* underglow */
  11-#define RGBLIGHT_EFFECT_BREATHING
  12-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
  13-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  14-#define RGBLIGHT_EFFECT_SNAKE
  15-#define RGBLIGHT_EFFECT_KNIGHT
  16-#define RGBLIGHT_EFFECT_CHRISTMAS
  17-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
  18-#define RGBLIGHT_EFFECT_RGB_TEST
  19-#define RGBLIGHT_EFFECT_ALTERNATING
  20-#define RGBLIGHT_EFFECT_TWINKLE
  21-#define RGBLIGHT 
  22-
  23 /*
  24  * Feature disable options
  25  *  These options are also useful to firmware size reduction.
  26diff --git a/keyboards/0_sixty/underglow/info.json b/keyboards/0_sixty/underglow/info.json
  27index 89a35f9a1ce3a2306ae83bfa4645601f7c37a571..6227591f44589f72f3a4b170e23da47e70072330 100644
  28--- a/keyboards/0_sixty/underglow/info.json
  29+++ b/keyboards/0_sixty/underglow/info.json
  30@@ -11,6 +11,18 @@
  31     },
  32     "rgblight": {
  33         "led_count": 24,
  34-        "max_brightness": 185
  35+        "max_brightness": 185,
  36+        "animations": {
  37+            "breathing": true,
  38+            "rainbow_mood": true,
  39+            "rainbow_swirl": true,
  40+            "snake": true,
  41+            "knight": true,
  42+            "christmas": true,
  43+            "static_gradient": true,
  44+            "rgb_test": true,
  45+            "alternating": true,
  46+            "twinkle": true
  47+        }
  48     }
  49 }
  50diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h
  51index 2d85a92387287acf70c44cbfa82790a7459c6445..9527d6abae2138daf8b484abc572307f655db019 100644
  52--- a/keyboards/0xcb/1337/config.h
  53+++ b/keyboards/0xcb/1337/config.h
  54@@ -18,16 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  55 
  56 // clang-format off
  57 
  58-#define RGBLIGHT_EFFECT_BREATHING
  59-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
  60-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  61-#define RGBLIGHT_EFFECT_SNAKE
  62-#define RGBLIGHT_EFFECT_KNIGHT
  63-#define RGBLIGHT_EFFECT_CHRISTMAS
  64-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
  65-#define RGBLIGHT_EFFECT_RGB_TEST
  66-#define RGBLIGHT_EFFECT_ALTERNATING
  67-#define RGBLIGHT_EFFECT_TWINKLE
  68   /* default setup after eeprom reset */
  69   #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2
  70   #define RGBLIGHT_DEFAULT_HUE 152
  71diff --git a/keyboards/0xcb/1337/info.json b/keyboards/0xcb/1337/info.json
  72index c72cd83f5d3eff0db35d33e5b8992e38b960f3ab..30b806aedc73915608d6d5b6d57ca32a3c54d8e5 100644
  73--- a/keyboards/0xcb/1337/info.json
  74+++ b/keyboards/0xcb/1337/info.json
  75@@ -28,7 +28,19 @@
  76     "saturation_steps": 8,
  77     "brightness_steps": 8,
  78     "led_count": 4,
  79-    "sleep": true
  80+    "sleep": true,
  81+    "animations": {
  82+      "breathing": true,
  83+      "rainbow_mood": true,
  84+      "rainbow_swirl": true,
  85+      "snake": true,
  86+      "knight": true,
  87+      "christmas": true,
  88+      "static_gradient": true,
  89+      "rgb_test": true,
  90+      "alternating": true,
  91+      "twinkle": true
  92+    }
  93   },
  94   "ws2812": {
  95     "pin": "D3"
  96diff --git a/keyboards/0xcb/tutelpad/config.h b/keyboards/0xcb/tutelpad/config.h
  97index 08d69e0100374d64886b07c4c170b6d86205ac41..6b9c1274a81ac1a656bf7cc8be2e298d935f7730 100644
  98--- a/keyboards/0xcb/tutelpad/config.h
  99+++ b/keyboards/0xcb/tutelpad/config.h
 100@@ -16,17 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 101 
 102 #pragma once
 103 
 104-#define RGBLIGHT_EFFECT_BREATHING       // Enable all additional RGB animation modes
 105-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 106-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 107-#define RGBLIGHT_EFFECT_SNAKE
 108-#define RGBLIGHT_EFFECT_KNIGHT
 109-#define RGBLIGHT_EFFECT_CHRISTMAS
 110-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 111-#define RGBLIGHT_EFFECT_RGB_TEST
 112-#define RGBLIGHT_EFFECT_ALTERNATING
 113-#define RGBLIGHT_EFFECT_TWINKLE
 114-
 115 #define OLED_TIMEOUT 20000              // Turns off OLED after said amount of milliseconds
 116 #define OLED_BRIGHTNESS 128
 117 #define OLED_DISPLAY_128X64
 118diff --git a/keyboards/0xcb/tutelpad/info.json b/keyboards/0xcb/tutelpad/info.json
 119index 7c23d0b2bcfa71bae18e66ebe939694a7eb8eee7..e4c7fce98abf80637b6e43a953e35e827b33872f 100644
 120--- a/keyboards/0xcb/tutelpad/info.json
 121+++ b/keyboards/0xcb/tutelpad/info.json
 122@@ -14,7 +14,19 @@
 123     "rgblight": {
 124         "hue_steps": 10,
 125         "led_count": 4,
 126-        "sleep": true
 127+        "sleep": true,
 128+        "animations": {
 129+            "breathing": true,
 130+            "rainbow_mood": true,
 131+            "rainbow_swirl": true,
 132+            "snake": true,
 133+            "knight": true,
 134+            "christmas": true,
 135+            "static_gradient": true,
 136+            "rgb_test": true,
 137+            "alternating": true,
 138+            "twinkle": true
 139+        }
 140     },
 141     "ws2812": {
 142         "pin": "D3"
 143diff --git a/keyboards/10bleoledhub/config.h b/keyboards/10bleoledhub/config.h
 144index 87716c62737b22515e1f308a31dc205c0ee95641..e3b72117929782f120d88884fb20e256166983c5 100644
 145--- a/keyboards/10bleoledhub/config.h
 146+++ b/keyboards/10bleoledhub/config.h
 147@@ -16,16 +16,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
 148 
 149 #pragma once
 150 
 151-#define RGBLIGHT_EFFECT_BREATHING
 152-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 153-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 154-#define RGBLIGHT_EFFECT_SNAKE
 155-#define RGBLIGHT_EFFECT_KNIGHT
 156-#define RGBLIGHT_EFFECT_CHRISTMAS
 157-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 158-#define RGBLIGHT_EFFECT_RGB_TEST
 159-#define RGBLIGHT_EFFECT_ALTERNATING
 160-#define RGBLIGHT_EFFECT_TWINKLE
 161-
 162-
 163 #define OLED_FONT_H "./lib/glcdfont.c"
 164diff --git a/keyboards/10bleoledhub/info.json b/keyboards/10bleoledhub/info.json
 165index 2251fad834fb5cef947b4953b387fc340fc0e526..17ebcaf4587dc1319a9a7b3a019a479a670693c2 100644
 166--- a/keyboards/10bleoledhub/info.json
 167+++ b/keyboards/10bleoledhub/info.json
 168@@ -12,7 +12,19 @@
 169         "driver": "bluefruit_le"
 170     },
 171     "rgblight": {
 172-        "led_count": 4
 173+        "led_count": 4,
 174+        "animations": {
 175+            "breathing": true,
 176+            "rainbow_mood": true,
 177+            "rainbow_swirl": true,
 178+            "snake": true,
 179+            "knight": true,
 180+            "christmas": true,
 181+            "static_gradient": true,
 182+            "rgb_test": true,
 183+            "alternating": true,
 184+            "twinkle": true
 185+        }
 186     },
 187     "ws2812": {
 188         "pin": "B7"
 189diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h
 190index 62c2837ebec95589695037405cbfb9f4bfb7fa3a..d876570c808ee13a971560fe2424afb24022f2eb 100644
 191--- a/keyboards/1upkeyboards/1up60hse/config.h
 192+++ b/keyboards/1upkeyboards/1up60hse/config.h
 193@@ -17,17 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 194 
 195 #pragma once
 196 
 197-#define RGBLIGHT_EFFECT_BREATHING
 198-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 199-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 200-#define RGBLIGHT_EFFECT_SNAKE
 201-#define RGBLIGHT_EFFECT_KNIGHT
 202-#define RGBLIGHT_EFFECT_CHRISTMAS
 203-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 204-#define RGBLIGHT_EFFECT_RGB_TEST
 205-#define RGBLIGHT_EFFECT_ALTERNATING
 206-#define RGBLIGHT_EFFECT_TWINKLE
 207-
 208 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 209 #define LOCKING_SUPPORT_ENABLE
 210 /* Locking resynchronize hack */
 211diff --git a/keyboards/1upkeyboards/1up60hse/info.json b/keyboards/1upkeyboards/1up60hse/info.json
 212index cc0b9d1d7ea521ef3348e4973f64896f262a1a1e..ffc2d4d76574da6d132efafeeb08ed4c6ff35958 100644
 213--- a/keyboards/1upkeyboards/1up60hse/info.json
 214+++ b/keyboards/1upkeyboards/1up60hse/info.json
 215@@ -22,7 +22,19 @@
 216         "saturation_steps": 8,
 217         "brightness_steps": 8,
 218         "led_count": 14,
 219-        "sleep": true
 220+        "sleep": true,
 221+        "animations": {
 222+            "breathing": true,
 223+            "rainbow_mood": true,
 224+            "rainbow_swirl": true,
 225+            "snake": true,
 226+            "knight": true,
 227+            "christmas": true,
 228+            "static_gradient": true,
 229+            "rgb_test": true,
 230+            "alternating": true,
 231+            "twinkle": true
 232+        }
 233     },
 234     "ws2812": {
 235         "pin": "F0"
 236diff --git a/keyboards/1upkeyboards/1up60hte/config.h b/keyboards/1upkeyboards/1up60hte/config.h
 237index e0d482302d5e453c12a2f95c6f443b1be83b251e..eddf290b4c3fa1a7fa5bb104f02ad5e4e91fd12b 100644
 238--- a/keyboards/1upkeyboards/1up60hte/config.h
 239+++ b/keyboards/1upkeyboards/1up60hte/config.h
 240@@ -23,14 +23,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 241 
 242 /* Locking resynchronize hack */
 243 #define LOCKING_RESYNC_ENABLE
 244-
 245-#define RGBLIGHT_EFFECT_BREATHING
 246-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 247-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 248-#define RGBLIGHT_EFFECT_SNAKE
 249-#define RGBLIGHT_EFFECT_KNIGHT
 250-#define RGBLIGHT_EFFECT_CHRISTMAS
 251-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 252-#define RGBLIGHT_EFFECT_RGB_TEST
 253-#define RGBLIGHT_EFFECT_ALTERNATING
 254-#define RGBLIGHT_EFFECT_TWINKLE
 255diff --git a/keyboards/1upkeyboards/1up60hte/info.json b/keyboards/1upkeyboards/1up60hte/info.json
 256index c1a8f48372f5afe7d9620f19aed192b4a2ed578e..99275bf251b6e7a4ebcdb234d35905867a3564e5 100644
 257--- a/keyboards/1upkeyboards/1up60hte/info.json
 258+++ b/keyboards/1upkeyboards/1up60hte/info.json
 259@@ -23,7 +23,19 @@
 260     "rgblight": {
 261         "saturation_steps": 8,
 262         "brightness_steps": 8,
 263-        "led_count": 14
 264+        "led_count": 14,
 265+        "animations": {
 266+            "breathing": true,
 267+            "rainbow_mood": true,
 268+            "rainbow_swirl": true,
 269+            "snake": true,
 270+            "knight": true,
 271+            "christmas": true,
 272+            "static_gradient": true,
 273+            "rgb_test": true,
 274+            "alternating": true,
 275+            "twinkle": true
 276+        }
 277     },
 278     "ws2812": {
 279         "pin": "F0"
 280diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h
 281index d702489ee7ad1b8166ef2647afa6a0ccb09d3823..5f360813239bad2c21db930bcae016798f148177 100644
 282--- a/keyboards/1upkeyboards/1up60rgb/config.h
 283+++ b/keyboards/1upkeyboards/1up60rgb/config.h
 284@@ -5,14 +5,3 @@
 285 
 286 /* Locking resynchronize hack */
 287 #define LOCKING_RESYNC_ENABLE
 288-
 289-#define RGBLIGHT_EFFECT_BREATHING
 290-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 291-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 292-#define RGBLIGHT_EFFECT_SNAKE
 293-#define RGBLIGHT_EFFECT_KNIGHT
 294-#define RGBLIGHT_EFFECT_CHRISTMAS
 295-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 296-#define RGBLIGHT_EFFECT_RGB_TEST
 297-#define RGBLIGHT_EFFECT_ALTERNATING
 298-#define RGBLIGHT_EFFECT_TWINKLE
 299diff --git a/keyboards/1upkeyboards/1up60rgb/info.json b/keyboards/1upkeyboards/1up60rgb/info.json
 300index 0108b2e8280f5ce57dc39e64d20b9268a48c8a61..0d288916cc412d0eebae32656532acd78924cc0b 100644
 301--- a/keyboards/1upkeyboards/1up60rgb/info.json
 302+++ b/keyboards/1upkeyboards/1up60rgb/info.json
 303@@ -20,7 +20,19 @@
 304   "rgblight": {
 305     "saturation_steps": 8,
 306     "brightness_steps": 8,
 307-    "led_count": 16
 308+    "led_count": 16,
 309+    "animations": {
 310+      "breathing": true,
 311+      "rainbow_mood": true,
 312+      "rainbow_swirl": true,
 313+      "snake": true,
 314+      "knight": true,
 315+      "christmas": true,
 316+      "static_gradient": true,
 317+      "rgb_test": true,
 318+      "alternating": true,
 319+      "twinkle": true
 320+    }
 321   },
 322   "ws2812": {
 323     "pin": "E2"
 324diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h
 325index 77548c97447c65b240d7ccd5fde3e4a2dc0b0e66..7a5c6e0e83365145d98ed3eb350805439c4f120e 100644
 326--- a/keyboards/1upkeyboards/super16/config.h
 327+++ b/keyboards/1upkeyboards/super16/config.h
 328@@ -18,18 +18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 329 #pragma once
 330 
 331 #    define RGB_MATRIX_LED_COUNT 16
 332-#    ifdef RGBLIGHT_ENABLE
 333-#        define RGBLIGHT_EFFECT_BREATHING
 334-#        define RGBLIGHT_EFFECT_RAINBOW_MOOD
 335-#        define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 336-#        define RGBLIGHT_EFFECT_SNAKE
 337-#        define RGBLIGHT_EFFECT_KNIGHT
 338-#        define RGBLIGHT_EFFECT_CHRISTMAS
 339-#        define RGBLIGHT_EFFECT_STATIC_GRADIENT
 340-#        define RGBLIGHT_EFFECT_RGB_TEST
 341-#        define RGBLIGHT_EFFECT_ALTERNATING
 342-#        define RGBLIGHT_EFFECT_TWINKLE
 343-#    elif defined RGB_MATRIX_ENABLE
 344+#    ifdef RGB_MATRIX_ENABLE
 345 #        define RGB_MATRIX_KEYPRESSES   // reacts to keypresses
 346 #        define RGB_MATRIX_FRAMEBUFFER_EFFECTS  // reacts to keyreleases (instead of keypresses)
 347 // RGB Matrix Animation modes. Explicitly enabled
 348diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json
 349index 3fd1e80a44f632cb627947f8ac5fe29cb864c8f5..6d63921f1b9ac59319b06666528f454663ef0a0e 100644
 350--- a/keyboards/1upkeyboards/super16/info.json
 351+++ b/keyboards/1upkeyboards/super16/info.json
 352@@ -15,7 +15,19 @@
 353     "saturation_steps": 8,
 354     "brightness_steps": 8,
 355     "led_count": 16,
 356-    "sleep": true
 357+    "sleep": true,
 358+    "animations": {
 359+      "breathing": true,
 360+      "rainbow_mood": true,
 361+      "rainbow_swirl": true,
 362+      "snake": true,
 363+      "knight": true,
 364+      "christmas": true,
 365+      "static_gradient": true,
 366+      "rgb_test": true,
 367+      "alternating": true,
 368+      "twinkle": true
 369+    }
 370   },
 371   "rgb_matrix": {
 372     "driver": "ws2812"
 373diff --git a/keyboards/1upkeyboards/sweet16/v1/config.h b/keyboards/1upkeyboards/sweet16/v1/config.h
 374index 42c163a432c5de0bb2ce241cabd14349cf40660f..c0ffe0213744bbcc9736683ac5bceb03be76b475 100644
 375--- a/keyboards/1upkeyboards/sweet16/v1/config.h
 376+++ b/keyboards/1upkeyboards/sweet16/v1/config.h
 377@@ -5,15 +5,3 @@
 378 #    define LED_CAPS_LOCK_PIN D5 // TXLED
 379 #    define LED_PIN_ON_STATE 0
 380 #endif
 381-
 382-/* Underglow options */
 383-#define RGBLIGHT_EFFECT_BREATHING
 384-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 385-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 386-#define RGBLIGHT_EFFECT_SNAKE
 387-#define RGBLIGHT_EFFECT_KNIGHT
 388-#define RGBLIGHT_EFFECT_CHRISTMAS
 389-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 390-#define RGBLIGHT_EFFECT_RGB_TEST
 391-#define RGBLIGHT_EFFECT_ALTERNATING
 392-#define RGBLIGHT_EFFECT_TWINKLE
 393diff --git a/keyboards/1upkeyboards/sweet16/v1/info.json b/keyboards/1upkeyboards/sweet16/v1/info.json
 394index ba7844015bc2d67b529d9c132eced7c2de997e34..bbecccae0206b1ce11a2afe520d7e8981c54c4cd 100644
 395--- a/keyboards/1upkeyboards/sweet16/v1/info.json
 396+++ b/keyboards/1upkeyboards/sweet16/v1/info.json
 397@@ -6,7 +6,19 @@
 398     "rgblight": {
 399         "saturation_steps": 8,
 400         "brightness_steps": 8,
 401-        "led_count": 1
 402+        "led_count": 1,
 403+        "animations": {
 404+            "breathing": true,
 405+            "rainbow_mood": true,
 406+            "rainbow_swirl": true,
 407+            "snake": true,
 408+            "knight": true,
 409+            "christmas": true,
 410+            "static_gradient": true,
 411+            "rgb_test": true,
 412+            "alternating": true,
 413+            "twinkle": true
 414+        }
 415     },
 416     "ws2812": {
 417         "pin": "B1"
 418diff --git a/keyboards/25keys/aleth42/rev0/config.h b/keyboards/25keys/aleth42/rev0/config.h
 419index 8d9b7022b56ae0b8aef39a2a0d71fceeaac7f5d3..0d7a5de56056a882f6f0ee24438b929a302425f7 100644
 420--- a/keyboards/25keys/aleth42/rev0/config.h
 421+++ b/keyboards/25keys/aleth42/rev0/config.h
 422@@ -17,17 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 423 
 424 #pragma once
 425 
 426-#    define RGBLIGHT_EFFECT_BREATHING
 427-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 428-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 429-#    define RGBLIGHT_EFFECT_SNAKE
 430-#    define RGBLIGHT_EFFECT_KNIGHT
 431-#    define RGBLIGHT_EFFECT_CHRISTMAS
 432-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 433-#    define RGBLIGHT_EFFECT_RGB_TEST
 434-#    define RGBLIGHT_EFFECT_ALTERNATING
 435-#    define RGBLIGHT_EFFECT_TWINKLE
 436-
 437 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 438 #define LOCKING_SUPPORT_ENABLE
 439 /* Locking resynchronize hack */
 440diff --git a/keyboards/25keys/aleth42/rev0/info.json b/keyboards/25keys/aleth42/rev0/info.json
 441index 5232b7626ab3448a8b2ee4f2f18b63522d6740fa..675c741bf52ae7d7514b1237af8f139fdde894e9 100644
 442--- a/keyboards/25keys/aleth42/rev0/info.json
 443+++ b/keyboards/25keys/aleth42/rev0/info.json
 444@@ -17,7 +17,19 @@
 445         "saturation_steps": 8,
 446         "brightness_steps": 8,
 447         "led_count": 6,
 448-        "sleep": true
 449+        "sleep": true,
 450+        "animations": {
 451+            "breathing": true,
 452+            "rainbow_mood": true,
 453+            "rainbow_swirl": true,
 454+            "snake": true,
 455+            "knight": true,
 456+            "christmas": true,
 457+            "static_gradient": true,
 458+            "rgb_test": true,
 459+            "alternating": true,
 460+            "twinkle": true
 461+        }
 462     },
 463     "ws2812": {
 464         "pin": "C7"
 465diff --git a/keyboards/25keys/aleth42/rev1/config.h b/keyboards/25keys/aleth42/rev1/config.h
 466index 8d9b7022b56ae0b8aef39a2a0d71fceeaac7f5d3..0d7a5de56056a882f6f0ee24438b929a302425f7 100644
 467--- a/keyboards/25keys/aleth42/rev1/config.h
 468+++ b/keyboards/25keys/aleth42/rev1/config.h
 469@@ -17,17 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 470 
 471 #pragma once
 472 
 473-#    define RGBLIGHT_EFFECT_BREATHING
 474-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 475-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 476-#    define RGBLIGHT_EFFECT_SNAKE
 477-#    define RGBLIGHT_EFFECT_KNIGHT
 478-#    define RGBLIGHT_EFFECT_CHRISTMAS
 479-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 480-#    define RGBLIGHT_EFFECT_RGB_TEST
 481-#    define RGBLIGHT_EFFECT_ALTERNATING
 482-#    define RGBLIGHT_EFFECT_TWINKLE
 483-
 484 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 485 #define LOCKING_SUPPORT_ENABLE
 486 /* Locking resynchronize hack */
 487diff --git a/keyboards/25keys/aleth42/rev1/info.json b/keyboards/25keys/aleth42/rev1/info.json
 488index 702e7af27ca46e19b42665979e4b09af0df4a7ce..fd4b07fe3ee23127529d74ff49dabfeb17884dfe 100644
 489--- a/keyboards/25keys/aleth42/rev1/info.json
 490+++ b/keyboards/25keys/aleth42/rev1/info.json
 491@@ -17,7 +17,19 @@
 492         "saturation_steps": 8,
 493         "brightness_steps": 8,
 494         "led_count": 8,
 495-        "sleep": true
 496+        "sleep": true,
 497+        "animations": {
 498+            "breathing": true,
 499+            "rainbow_mood": true,
 500+            "rainbow_swirl": true,
 501+            "snake": true,
 502+            "knight": true,
 503+            "christmas": true,
 504+            "static_gradient": true,
 505+            "rgb_test": true,
 506+            "alternating": true,
 507+            "twinkle": true
 508+        }
 509     },
 510     "ws2812": {
 511         "pin": "B3"
 512diff --git a/keyboards/25keys/cassette42/config.h b/keyboards/25keys/cassette42/config.h
 513index fa69a3dd588b8f4af411a25b42c24efdcf622042..915e161e8bdcdff6182c2879976c877a1747e0b9 100644
 514--- a/keyboards/25keys/cassette42/config.h
 515+++ b/keyboards/25keys/cassette42/config.h
 516@@ -17,15 +17,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 517 
 518 #pragma once
 519 
 520-#    define RGBLIGHT_EFFECT_BREATHING
 521-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 522-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 523-#    define RGBLIGHT_EFFECT_SNAKE
 524-#    define RGBLIGHT_EFFECT_KNIGHT
 525-#    define RGBLIGHT_EFFECT_CHRISTMAS
 526-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 527-#    define RGBLIGHT_EFFECT_RGB_TEST
 528-#    define RGBLIGHT_EFFECT_ALTERNATING
 529-#    define RGBLIGHT_EFFECT_TWINKLE
 530-
 531 #define OLED_FONT_H "keyboards/25keys/cassette42/common/glcdfont.c"
 532diff --git a/keyboards/25keys/cassette42/info.json b/keyboards/25keys/cassette42/info.json
 533index e75214b6626c9e5e011a8ac7192d9b184fe93108..38a73368f635f84eff46faf053287c70e30cfe8a 100644
 534--- a/keyboards/25keys/cassette42/info.json
 535+++ b/keyboards/25keys/cassette42/info.json
 536@@ -18,7 +18,19 @@
 537         "saturation_steps": 8,
 538         "brightness_steps": 8,
 539         "led_count": 5,
 540-        "sleep": true
 541+        "sleep": true,
 542+        "animations": {
 543+            "breathing": true,
 544+            "rainbow_mood": true,
 545+            "rainbow_swirl": true,
 546+            "snake": true,
 547+            "knight": true,
 548+            "christmas": true,
 549+            "static_gradient": true,
 550+            "rgb_test": true,
 551+            "alternating": true,
 552+            "twinkle": true
 553+        }
 554     },
 555     "ws2812": {
 556         "pin": "D3"
 557diff --git a/keyboards/2key2crawl/config.h b/keyboards/2key2crawl/config.h
 558index b3548d696e4c155f04552cce50c8bdff303f03b8..5f360813239bad2c21db930bcae016798f148177 100644
 559--- a/keyboards/2key2crawl/config.h
 560+++ b/keyboards/2key2crawl/config.h
 561@@ -5,17 +5,3 @@
 562 
 563 /* Locking resynchronize hack */
 564 #define LOCKING_RESYNC_ENABLE
 565-
 566-
 567-#ifdef RGBLIGHT_ENABLE
 568-#    define RGBLIGHT_EFFECT_BREATHING
 569-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 570-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 571-#    define RGBLIGHT_EFFECT_SNAKE
 572-#    define RGBLIGHT_EFFECT_KNIGHT
 573-#    define RGBLIGHT_EFFECT_CHRISTMAS
 574-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 575-#    define RGBLIGHT_EFFECT_RGB_TEST
 576-#    define RGBLIGHT_EFFECT_ALTERNATING
 577-#    define RGBLIGHT_EFFECT_TWINKLE
 578-#endif
 579diff --git a/keyboards/2key2crawl/info.json b/keyboards/2key2crawl/info.json
 580index 66636b4a3c518492fae58f67c9ed995ce4571dfa..b8644a07129301bbd9c8b9fd27518b4418130deb 100644
 581--- a/keyboards/2key2crawl/info.json
 582+++ b/keyboards/2key2crawl/info.json
 583@@ -19,7 +19,19 @@
 584         ]
 585     },
 586     "rgblight": {
 587-        "led_count": 3
 588+        "led_count": 3,
 589+        "animations": {
 590+            "breathing": true,
 591+            "rainbow_mood": true,
 592+            "rainbow_swirl": true,
 593+            "snake": true,
 594+            "knight": true,
 595+            "christmas": true,
 596+            "static_gradient": true,
 597+            "rgb_test": true,
 598+            "alternating": true,
 599+            "twinkle": true
 600+        }
 601     },
 602     "ws2812": {
 603         "pin": "C6"
 604diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h
 605index 06570c9ce98cbcb3504e8fd5979e2f856eff4171..5f360813239bad2c21db930bcae016798f148177 100644
 606--- a/keyboards/40percentclub/luddite/config.h
 607+++ b/keyboards/40percentclub/luddite/config.h
 608@@ -5,15 +5,3 @@
 609 
 610 /* Locking resynchronize hack */
 611 #define LOCKING_RESYNC_ENABLE
 612-
 613-/* ws2812 RGB LED */
 614-#    define RGBLIGHT_EFFECT_BREATHING
 615-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 616-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 617-#    define RGBLIGHT_EFFECT_SNAKE
 618-#    define RGBLIGHT_EFFECT_KNIGHT
 619-#    define RGBLIGHT_EFFECT_CHRISTMAS
 620-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 621-#    define RGBLIGHT_EFFECT_RGB_TEST
 622-#    define RGBLIGHT_EFFECT_ALTERNATING
 623-#    define RGBLIGHT_EFFECT_TWINKLE
 624diff --git a/keyboards/40percentclub/luddite/info.json b/keyboards/40percentclub/luddite/info.json
 625index 9ee787ad63ee039d9f8654bca47a1c77451e1d46..a8c8c13b2a5f1d8fb0ace56a3e19e34532ac64aa 100644
 626--- a/keyboards/40percentclub/luddite/info.json
 627+++ b/keyboards/40percentclub/luddite/info.json
 628@@ -18,7 +18,19 @@
 629     "levels": 4
 630   },
 631   "rgblight": {
 632-    "led_count": 8
 633+    "led_count": 8,
 634+    "animations": {
 635+      "breathing": true,
 636+      "rainbow_mood": true,
 637+      "rainbow_swirl": true,
 638+      "snake": true,
 639+      "knight": true,
 640+      "christmas": true,
 641+      "static_gradient": true,
 642+      "rgb_test": true,
 643+      "alternating": true,
 644+      "twinkle": true
 645+    }
 646   },
 647   "ws2812": {
 648     "pin": "B4"
 649diff --git a/keyboards/40percentclub/nano/config.h b/keyboards/40percentclub/nano/config.h
 650deleted file mode 100644
 651index 3e8f6e666b20d4434e95e3ad29889aececabfe83..0000000000000000000000000000000000000000
 652--- a/keyboards/40percentclub/nano/config.h
 653+++ /dev/null
 654@@ -1,30 +0,0 @@
 655-/*
 656-Copyright 2012 Jun Wako <wakojun@gmail.com>
 657-
 658-This program is free software: you can redistribute it and/or modify
 659-it under the terms of the GNU General Public License as published by
 660-the Free Software Foundation, either version 2 of the License, or
 661-(at your option) any later version.
 662-
 663-This program is distributed in the hope that it will be useful,
 664-but WITHOUT ANY WARRANTY; without even the implied warranty of
 665-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 666-GNU General Public License for more details.
 667-
 668-You should have received a copy of the GNU General Public License
 669-along with this program.  If not, see <http://www.gnu.org/licenses/>.
 670-*/
 671-
 672-#pragma once
 673-
 674-/* ws2812 RGB LED */
 675-#    define RGBLIGHT_EFFECT_BREATHING
 676-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 677-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 678-#    define RGBLIGHT_EFFECT_SNAKE
 679-#    define RGBLIGHT_EFFECT_KNIGHT
 680-#    define RGBLIGHT_EFFECT_CHRISTMAS
 681-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 682-#    define RGBLIGHT_EFFECT_RGB_TEST
 683-#    define RGBLIGHT_EFFECT_ALTERNATING
 684-#    define RGBLIGHT_EFFECT_TWINKLE
 685diff --git a/keyboards/40percentclub/nano/info.json b/keyboards/40percentclub/nano/info.json
 686index 5ad37b00b543d6b1361c9ef612d35ac1e4609d6a..4cfd3a9a295cc1e9b17a8d139d4c3de94a66ca38 100644
 687--- a/keyboards/40percentclub/nano/info.json
 688+++ b/keyboards/40percentclub/nano/info.json
 689@@ -9,7 +9,19 @@
 690     "device_version": "0.0.1"
 691   },
 692   "rgblight": {
 693-    "led_count": 6
 694+    "led_count": 6,
 695+    "animations": {
 696+      "breathing": true,
 697+      "rainbow_mood": true,
 698+      "rainbow_swirl": true,
 699+      "snake": true,
 700+      "knight": true,
 701+      "christmas": true,
 702+      "static_gradient": true,
 703+      "rgb_test": true,
 704+      "alternating": true,
 705+      "twinkle": true
 706+    }
 707   },
 708   "ws2812": {
 709     "pin": "D3"
 710diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h
 711index 6d4f10af710e1cee44ff7c32e3040966fd43ff98..0fe9b9df213c48fb06cf5a7af2909ed4e477847d 100644
 712--- a/keyboards/40percentclub/nori/config.h
 713+++ b/keyboards/40percentclub/nori/config.h
 714@@ -16,18 +16,6 @@
 715 
 716 #pragma once
 717 
 718-// enable RGB underglow
 719-#define RGBLIGHT_EFFECT_BREATHING
 720-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 721-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 722-#define RGBLIGHT_EFFECT_SNAKE
 723-#define RGBLIGHT_EFFECT_KNIGHT
 724-#define RGBLIGHT_EFFECT_CHRISTMAS
 725-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 726-#define RGBLIGHT_EFFECT_RGB_TEST
 727-#define RGBLIGHT_EFFECT_ALTERNATING
 728-#define RGBLIGHT_EFFECT_TWINKLE
 729-
 730 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 731 #define LOCKING_SUPPORT_ENABLE
 732 /* Locking resynchronize hack */
 733diff --git a/keyboards/40percentclub/nori/info.json b/keyboards/40percentclub/nori/info.json
 734index dfd2c310bbba9451c0ba4dab23dc90b1d1cca3cc..214d1da2a09ea17053fa7a261ec63e745fbf8240 100644
 735--- a/keyboards/40percentclub/nori/info.json
 736+++ b/keyboards/40percentclub/nori/info.json
 737@@ -19,7 +19,19 @@
 738     "rgblight": {
 739       "saturation_steps": 8,
 740       "brightness_steps": 8,
 741-      "led_count": 10
 742+      "led_count": 10,
 743+      "animations": {
 744+        "breathing": true,
 745+        "rainbow_mood": true,
 746+        "rainbow_swirl": true,
 747+        "snake": true,
 748+        "knight": true,
 749+        "christmas": true,
 750+        "static_gradient": true,
 751+        "rgb_test": true,
 752+        "alternating": true,
 753+        "twinkle": true
 754+      }
 755     },
 756     "ws2812": {
 757       "pin": "B4"
 758diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h
 759index 37576953de6f59d39c647bd0645e25d2caaea2a4..b46d357dd04ef2a0ee5d374ed7922b6909e28a47 100644
 760--- a/keyboards/40percentclub/tomato/config.h
 761+++ b/keyboards/40percentclub/tomato/config.h
 762@@ -5,15 +5,3 @@
 763 
 764 /* eliminate lag on space cadet mods */
 765 #define PERMISSIVE_HOLD
 766-
 767-/* setup lighting */
 768-#define RGBLIGHT_EFFECT_BREATHING
 769-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 770-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 771-#define RGBLIGHT_EFFECT_SNAKE
 772-#define RGBLIGHT_EFFECT_KNIGHT
 773-#define RGBLIGHT_EFFECT_CHRISTMAS
 774-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 775-#define RGBLIGHT_EFFECT_RGB_TEST
 776-#define RGBLIGHT_EFFECT_ALTERNATING
 777-#define RGBLIGHT_EFFECT_TWINKLE
 778diff --git a/keyboards/40percentclub/tomato/info.json b/keyboards/40percentclub/tomato/info.json
 779index 89c0f7b367460acf110ae636e5fbd2f6fbd87149..eabe3545683f4d67e952787143dc2e4298cc4748 100644
 780--- a/keyboards/40percentclub/tomato/info.json
 781+++ b/keyboards/40percentclub/tomato/info.json
 782@@ -11,7 +11,19 @@
 783   "rgblight": {
 784     "saturation_steps": 8,
 785     "brightness_steps": 8,
 786-    "led_count": 30
 787+    "led_count": 30,
 788+    "animations": {
 789+      "breathing": true,
 790+      "rainbow_mood": true,
 791+      "rainbow_swirl": true,
 792+      "snake": true,
 793+      "knight": true,
 794+      "christmas": true,
 795+      "static_gradient": true,
 796+      "rgb_test": true,
 797+      "alternating": true,
 798+      "twinkle": true
 799+    }
 800   },
 801   "ws2812": {
 802     "pin": "B5"
 803diff --git a/keyboards/4pplet/aekiso60/rev_a/config.h b/keyboards/4pplet/aekiso60/rev_a/config.h
 804deleted file mode 100644
 805index a0f3c01aa3cd8907efaabf5553a5334d068227f5..0000000000000000000000000000000000000000
 806--- a/keyboards/4pplet/aekiso60/rev_a/config.h
 807+++ /dev/null
 808@@ -1,12 +0,0 @@
 809-#pragma once
 810-
 811-#define RGBLIGHT_EFFECT_BREATHING
 812-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 813-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 814-#define RGBLIGHT_EFFECT_SNAKE
 815-#define RGBLIGHT_EFFECT_KNIGHT
 816-#define RGBLIGHT_EFFECT_CHRISTMAS
 817-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 818-#define RGBLIGHT_EFFECT_RGB_TEST
 819-#define RGBLIGHT_EFFECT_ALTERNATING
 820-#define RGBLIGHT_EFFECT_TWINKLE
 821diff --git a/keyboards/4pplet/aekiso60/rev_a/info.json b/keyboards/4pplet/aekiso60/rev_a/info.json
 822index 32e6378cfc397fa9dd928e787ad4cb57f865a13f..7728ab50bb3a2d4fddd1e7edc95e918fd0d211c8 100644
 823--- a/keyboards/4pplet/aekiso60/rev_a/info.json
 824+++ b/keyboards/4pplet/aekiso60/rev_a/info.json
 825@@ -7,7 +7,19 @@
 826     "rgblight": {
 827         "saturation_steps": 8,
 828         "brightness_steps": 8,
 829-        "led_count": 12
 830+        "led_count": 12,
 831+        "animations": {
 832+            "breathing": true,
 833+            "rainbow_mood": true,
 834+            "rainbow_swirl": true,
 835+            "snake": true,
 836+            "knight": true,
 837+            "christmas": true,
 838+            "static_gradient": true,
 839+            "rgb_test": true,
 840+            "alternating": true,
 841+            "twinkle": true
 842+        }
 843     },
 844     "ws2812": {
 845         "pin": "D3"
 846diff --git a/keyboards/4pplet/aekiso60/rev_b/config.h b/keyboards/4pplet/aekiso60/rev_b/config.h
 847index c96bd9d192419b8678b75045b1962d7cf5fffbfe..036d08cc73c476d6adef2a1f47ca3a6da14be0cb 100644
 848--- a/keyboards/4pplet/aekiso60/rev_b/config.h
 849+++ b/keyboards/4pplet/aekiso60/rev_b/config.h
 850@@ -17,13 +17,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 851 #pragma once
 852 
 853 #define WS2812_EXTERNAL_PULLUP
 854-#define RGBLIGHT_EFFECT_BREATHING
 855-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 856-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 857-#define RGBLIGHT_EFFECT_SNAKE
 858-#define RGBLIGHT_EFFECT_KNIGHT
 859-#define RGBLIGHT_EFFECT_CHRISTMAS
 860-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 861-#define RGBLIGHT_EFFECT_RGB_TEST
 862-#define RGBLIGHT_EFFECT_ALTERNATING
 863-#define RGBLIGHT_EFFECT_TWINKLE
 864diff --git a/keyboards/4pplet/aekiso60/rev_b/info.json b/keyboards/4pplet/aekiso60/rev_b/info.json
 865index a927a3e271da55e5bd01b40a59239e8ca84912f5..b5ad58bc11df9b22a7dffe8f58e4a4b2bcf00c18 100644
 866--- a/keyboards/4pplet/aekiso60/rev_b/info.json
 867+++ b/keyboards/4pplet/aekiso60/rev_b/info.json
 868@@ -7,7 +7,19 @@
 869     "rgblight": {
 870         "saturation_steps": 8,
 871         "brightness_steps": 8,
 872-        "led_count": 12
 873+        "led_count": 12,
 874+        "animations": {
 875+            "breathing": true,
 876+            "rainbow_mood": true,
 877+            "rainbow_swirl": true,
 878+            "snake": true,
 879+            "knight": true,
 880+            "christmas": true,
 881+            "static_gradient": true,
 882+            "rgb_test": true,
 883+            "alternating": true,
 884+            "twinkle": true
 885+        }
 886     },
 887     "ws2812": {
 888         "pin": "A8"
 889diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
 890index 1cc2d50f1619799a4355b54c7bc88c491ce4be02..9bec945f24a884727e6aaf791f4fa1dcecd3ce9e 100644
 891--- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
 892+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
 893@@ -24,16 +24,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 894 #define WS2812_SPI_MOSI_PAL_MODE 0
 895 #define WS2812_SPI_SCK_PIN A5
 896 #define WS2812_SPI_SCK_PAL_MODE 0
 897-#define RGBLIGHT_EFFECT_BREATHING
 898-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 899-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 900-#define RGBLIGHT_EFFECT_SNAKE
 901-#define RGBLIGHT_EFFECT_KNIGHT
 902-#define RGBLIGHT_EFFECT_CHRISTMAS
 903-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 904-#define RGBLIGHT_EFFECT_RGB_TEST
 905-#define RGBLIGHT_EFFECT_ALTERNATING
 906-#define RGBLIGHT_EFFECT_TWINKLE
 907 
 908 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 909 #define LOCKING_SUPPORT_ENABLE
 910diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json
 911index 9a112a2cde6c899de423d341fdf632bca4f39b03..4be993daea16f9eaca054f93b185001f95e2282d 100644
 912--- a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json
 913+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json
 914@@ -21,7 +21,19 @@
 915     "rgblight": {
 916         "saturation_steps": 8,
 917         "brightness_steps": 8,
 918-        "led_count": 16
 919+        "led_count": 16,
 920+        "animations": {
 921+            "breathing": true,
 922+            "rainbow_mood": true,
 923+            "rainbow_swirl": true,
 924+            "snake": true,
 925+            "knight": true,
 926+            "christmas": true,
 927+            "static_gradient": true,
 928+            "rgb_test": true,
 929+            "alternating": true,
 930+            "twinkle": true
 931+        }
 932     },
 933     "ws2812": {
 934         "pin": "A7",
 935diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h
 936index 9a5de0dd6f96cc492165adc6838911b6ca42bfae..5d5eefda21840d4b957edb55c41ea7878eea06b4 100644
 937--- a/keyboards/4pplet/eagle_viper_rep/rev_b/config.h
 938+++ b/keyboards/4pplet/eagle_viper_rep/rev_b/config.h
 939@@ -23,17 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 940 /* Underglow */
 941 #define WS2812_EXTERNAL_PULLUP
 942 
 943-#define RGBLIGHT_EFFECT_BREATHING
 944-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 945-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 946-#define RGBLIGHT_EFFECT_SNAKE
 947-#define RGBLIGHT_EFFECT_KNIGHT
 948-#define RGBLIGHT_EFFECT_CHRISTMAS
 949-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 950-#define RGBLIGHT_EFFECT_RGB_TEST
 951-#define RGBLIGHT_EFFECT_ALTERNATING
 952-#define RGBLIGHT_EFFECT_TWINKLE
 953-
 954 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 955 #define LOCKING_SUPPORT_ENABLE
 956 /* Locking resynchronize hack */
 957diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json
 958index d260e76c81f7fc1af3dc2a102fe0efaace3595d2..ad7513c13d6e8f4c1aa58ac598f65eaa494009c5 100644
 959--- a/keyboards/4pplet/eagle_viper_rep/rev_b/info.json
 960+++ b/keyboards/4pplet/eagle_viper_rep/rev_b/info.json
 961@@ -26,7 +26,19 @@
 962     "rgblight": {
 963         "saturation_steps": 8,
 964         "brightness_steps": 8,
 965-        "led_count": 16
 966+        "led_count": 16,
 967+        "animations": {
 968+            "breathing": true,
 969+            "rainbow_mood": true,
 970+            "rainbow_swirl": true,
 971+            "snake": true,
 972+            "knight": true,
 973+            "christmas": true,
 974+            "static_gradient": true,
 975+            "rgb_test": true,
 976+            "alternating": true,
 977+            "twinkle": true
 978+        }
 979     },
 980     "ws2812": {
 981         "pin": "A8"
 982diff --git a/keyboards/4pplet/waffling60/rev_b/config.h b/keyboards/4pplet/waffling60/rev_b/config.h
 983deleted file mode 100644
 984index 189e53b8c108dbb787cb0997d521e79f5fcbe71e..0000000000000000000000000000000000000000
 985--- a/keyboards/4pplet/waffling60/rev_b/config.h
 986+++ /dev/null
 987@@ -1,28 +0,0 @@
 988-/*
 989-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
 990-
 991-This program is free software: you can redistribute it and/or modify
 992-it under the terms of the GNU General Public License as published by
 993-the Free Software Foundation, either version 2 of the License, or
 994-(at your option) any later version.
 995-
 996-This program is distributed in the hope that it will be useful,
 997-but WITHOUT ANY WARRANTY; without even the implied warranty of
 998-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 999-GNU General Public License for more details.
1000-
1001-You should have received a copy of the GNU General Public License
1002-along with this program.  If not, see <http://www.gnu.org/licenses/>.
1003-*/
1004-#pragma once
1005-
1006-#define RGBLIGHT_EFFECT_BREATHING
1007-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
1008-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
1009-#define RGBLIGHT_EFFECT_SNAKE
1010-#define RGBLIGHT_EFFECT_KNIGHT
1011-#define RGBLIGHT_EFFECT_CHRISTMAS
1012-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
1013-#define RGBLIGHT_EFFECT_RGB_TEST
1014-#define RGBLIGHT_EFFECT_ALTERNATING
1015-#define RGBLIGHT_EFFECT_TWINKLE
1016diff --git a/keyboards/4pplet/waffling60/rev_b/info.json b/keyboards/4pplet/waffling60/rev_b/info.json
1017index 2d22a82b851f5c480ee966bf703c3ac146cf3bd6..7ba1964c7ca7f97c101c616c41145a68ab1a9e1e 100644
1018--- a/keyboards/4pplet/waffling60/rev_b/info.json
1019+++ b/keyboards/4pplet/waffling60/rev_b/info.json
1020@@ -11,7 +11,19 @@
1021     "rgblight": {
1022         "saturation_steps": 8,
1023         "brightness_steps": 8,
1024-        "led_count": 1
1025+        "led_count": 1,
1026+        "animations": {
1027+            "breathing": true,
1028+            "rainbow_mood": true,
1029+            "rainbow_swirl": true,
1030+            "snake": true,
1031+            "knight": true,
1032+            "christmas": true,
1033+            "static_gradient": true,
1034+            "rgb_test": true,
1035+            "alternating": true,
1036+            "twinkle": true
1037+        }
1038     },
1039     "ws2812": {
1040         "pin": "D3"
1041diff --git a/keyboards/4pplet/waffling60/rev_c/config.h b/keyboards/4pplet/waffling60/rev_c/config.h
1042deleted file mode 100644
1043index 27246c865e8fc624de1e083bf1fb2a5891ba0def..0000000000000000000000000000000000000000
1044--- a/keyboards/4pplet/waffling60/rev_c/config.h
1045+++ /dev/null
1046@@ -1,28 +0,0 @@
1047-/*
1048-Copyright 2022 Stefan Sundin "4pplet" <mail@4pplet.com>
1049-
1050-This program is free software: you can redistribute it and/or modify
1051-it under the terms of the GNU General Public License as published by
1052-the Free Software Foundation, either version 2 of the License, or
1053-(at your option) any later version.
1054-
1055-This program is distributed in the hope that it will be useful,
1056-but WITHOUT ANY WARRANTY; without even the implied warranty of
1057-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1058-GNU General Public License for more details.
1059-
1060-You should have received a copy of the GNU General Public License
1061-along with this program.  If not, see <http://www.gnu.org/licenses/>.
1062-*/
1063-#pragma once
1064-
1065-#define RGBLIGHT_EFFECT_BREATHING
1066-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
1067-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
1068-#define RGBLIGHT_EFFECT_SNAKE
1069-#define RGBLIGHT_EFFECT_KNIGHT
1070-#define RGBLIGHT_EFFECT_CHRISTMAS
1071-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
1072-#define RGBLIGHT_EFFECT_RGB_TEST
1073-#define RGBLIGHT_EFFECT_ALTERNATING
1074-#define RGBLIGHT_EFFECT_TWINKLE
1075diff --git a/keyboards/4pplet/waffling60/rev_c/info.json b/keyboards/4pplet/waffling60/rev_c/info.json
1076index b4a00467288734ca1252b2f6fed68315842e56c9..f2461aeaa9b5a8e944ab5970e06a6285f7b8d131 100644
1077--- a/keyboards/4pplet/waffling60/rev_c/info.json
1078+++ b/keyboards/4pplet/waffling60/rev_c/info.json
1079@@ -15,7 +15,19 @@
1080     "rgblight": {
1081         "saturation_steps": 8,
1082         "brightness_steps": 8,
1083-        "led_count": 1
1084+        "led_count": 1,
1085+        "animations": {
1086+            "breathing": true,
1087+            "rainbow_mood": true,
1088+            "rainbow_swirl": true,
1089+            "snake": true,
1090+            "knight": true,
1091+            "christmas": true,
1092+            "static_gradient": true,
1093+            "rgb_test": true,
1094+            "alternating": true,
1095+            "twinkle": true
1096+        }
1097     },
1098     "ws2812": {
1099         "pin": "D3"
1100diff --git a/keyboards/8pack/config.h b/keyboards/8pack/config.h
1101index e48b4d5a72ef42dedb0370e99d3c1991943bb281..5f360813239bad2c21db930bcae016798f148177 100644
1102--- a/keyboards/8pack/config.h
1103+++ b/keyboards/8pack/config.h
1104@@ -5,15 +5,3 @@
1105 
1106 /* Locking resynchronize hack */
1107 #define LOCKING_RESYNC_ENABLE
1108-
1109-// ws2812 options
1110-#define RGBLIGHT_EFFECT_BREATHING
1111-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
1112-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
1113-#define RGBLIGHT_EFFECT_SNAKE
1114-#define RGBLIGHT_EFFECT_KNIGHT
1115-#define RGBLIGHT_EFFECT_CHRISTMAS
1116-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
1117-#define RGBLIGHT_EFFECT_RGB_TEST
1118-#define RGBLIGHT_EFFECT_ALTERNATING
1119-#define RGBLIGHT_EFFECT_TWINKLE
1120diff --git a/keyboards/8pack/info.json b/keyboards/8pack/info.json
1121index b572bdd0e92f9ebb68d36d497626825d5fc0a6c6..0145eef5e3ac5eabf5c077e2934eb82be5598249 100644
1122--- a/keyboards/8pack/info.json
1123+++ b/keyboards/8pack/info.json
1124@@ -13,7 +13,19 @@
1125     "levels": 8
1126   },
1127   "rgblight": {
1128-    "led_count": 8
1129+    "led_count": 8,
1130+    "animations": {
1131+      "breathing": true,
1132+      "rainbow_mood": true,
1133+      "rainbow_swirl": true,
1134+      "snake": true,
1135+      "knight": true,
1136+      "christmas": true,
1137+      "static_gradient": true,
1138+      "rgb_test": true,
1139+      "alternating": true,
1140+      "twinkle": true
1141+    }
1142   },
1143   "ws2812": {
1144     "pin": "D2"
1145diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h
1146index 420cf9d1430d21e698b4c9e253c1bcffe2740239..ca764a9eebee3d0f842c7e0ce4cbddf0581f0195 100644
1147--- a/keyboards/abacus/config.h
1148+++ b/keyboards/abacus/config.h
1149@@ -19,14 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
1150 
1151 #define DIP_SWITCH_PINS { D0 }
1152 
1153-/*== choose animations ==*/
1154-#    define RGBLIGHT_EFFECT_BREATHING
1155-#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
1156-#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
1157-#    define RGBLIGHT_EFFECT_SNAKE
1158-#    define RGBLIGHT_EFFECT_KNIGHT
1159-#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
1160-
1161 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
1162 #define LOCKING_SUPPORT_ENABLE
1163 /* Locking resynchronize hack */
1164diff --git a/keyboards/abacus/info.json b/keyboards/abacus/info.json
1165index 261808c1893c5905bfc569469f71b4dd2af65491..2e147829973da80e28d1b56e840a21b9ff091921 100644
1166--- a/keyboards/abacus/info.json
1167+++ b/keyboards/abacus/info.json
1168@@ -22,7 +22,15 @@
1169         "saturation_steps": 8,
1170         "brightness_steps": 8,
1171         "led_count": 17,
1172-        "sleep": true
1173+        "sleep": true,
1174+        "animations": {
1175+            "breathing": true,
1176+            "rainbow_mood": true,
1177+            "rainbow_swirl": true,
1178+            "snake": true,
1179+            "knight": true,
1180+            "static_gradient": true
1181+        }
1182     },
1183     "ws2812": {
1184         "pin": "D1"