~ruther/qmk_firmware

36c410592dbd35da33ccc5fd6d2a5cbf4b25a708 — Ryan 3 years ago d967de0
Change `DRIVER_LED_COUNT` to `{LED,RGB}_MATRIX_LED_COUNT` (#18399)

577 files changed, 836 insertions(+), 831 deletions(-)

M docs/feature_led_matrix.md
M docs/feature_rgb_matrix.md
M drivers/led/aw20216.c
M drivers/led/aw20216.h
M drivers/led/ckled2001-simple.c
M drivers/led/ckled2001-simple.h
M drivers/led/ckled2001.c
M drivers/led/ckled2001.h
M drivers/led/issi/is31fl3731-simple.c
M drivers/led/issi/is31fl3731-simple.h
M drivers/led/issi/is31fl3731.c
M drivers/led/issi/is31fl3731.h
M drivers/led/issi/is31fl3733-simple.c
M drivers/led/issi/is31fl3733-simple.h
M drivers/led/issi/is31fl3733.c
M drivers/led/issi/is31fl3733.h
M drivers/led/issi/is31fl3736.c
M drivers/led/issi/is31fl3736.h
M drivers/led/issi/is31fl3737.c
M drivers/led/issi/is31fl3737.h
M drivers/led/issi/is31fl3741.c
M drivers/led/issi/is31fl3741.h
M drivers/led/issi/is31flcommon.c
M drivers/led/issi/is31flcommon.h
M keyboards/1upkeyboards/pi40/config.h
M keyboards/1upkeyboards/super16/config.h
M keyboards/1upkeyboards/super16v2/config.h
M keyboards/3keyecosystem/2key2/config.h
M keyboards/4pplet/perk60_iso/rev_a/config.h
M keyboards/4pplet/perk60_iso/rev_a/rev_a.c
M keyboards/abatskeyboardclub/nayeon/config.h
M keyboards/acheron/apollo/87h/delta/config.h
M keyboards/acheron/apollo/87h/gamma/config.h
M keyboards/acheron/apollo/87h/gamma/gamma.c
M keyboards/acheron/apollo/87htsc/config.h
M keyboards/acheron/apollo/88htsc/config.h
M keyboards/adafruit/macropad/config.h
M keyboards/adm42/rev4/config.h
M keyboards/aleblazer/zodiark/config.h
M keyboards/an_achronism/tetromino/config.h
M keyboards/annepro2/config_led.h
M keyboards/annepro2/rgb_driver.c
M keyboards/atlantis/ak81_ve/config.h
M keyboards/axolstudio/yeti/hotswap/config.h
M keyboards/axolstudio/yeti/hotswap/hotswap.c
M keyboards/bandominedoni/config.h
M keyboards/basekeys/trifecta/config.h
M keyboards/bastardkb/charybdis/3x5/config.h
M keyboards/bastardkb/charybdis/3x6/config.h
M keyboards/bastardkb/charybdis/4x6/config.h
M keyboards/bastardkb/scylla/config.h
M keyboards/bastardkb/skeletyl/config.h
M keyboards/bastardkb/tbkmini/config.h
M keyboards/blockboy/ac980mini/config.h
M keyboards/boardsource/beiwagon/config.h
M keyboards/boardsource/lulu/config.h
M keyboards/boardsource/microdox/v2/config.h
M keyboards/boardsource/technik_o/config.h
M keyboards/boardsource/technik_s/config.h
M keyboards/boardsource/the_mark/config.h
M keyboards/boston_meetup/2019/config.h
M keyboards/canary/canary60rgb/canary60rgb.c
M keyboards/canary/canary60rgb/v1/config.h
M keyboards/capsunlocked/cu80/v2_ansi/config.h
M keyboards/capsunlocked/cu80/v2_iso/config.h
M keyboards/checkerboards/quark_lp/config.h
M keyboards/cherrybstudio/cb87rgb/config.h
M keyboards/chromatonemini/config.h
M keyboards/chromatonemini/rgb_matrix_kb.inc
M keyboards/clueboard/66_hotswap/gen1/config.h
M keyboards/clueboard/66_hotswap/gen1/gen1.c
M keyboards/crkbd/keymaps/bermeo/config.h
M keyboards/crkbd/keymaps/bermeo/keymap.c
M keyboards/crkbd/keymaps/crkdves/config.h
M keyboards/crkbd/keymaps/crkqwes/config.h
M keyboards/crkbd/keymaps/davidrambo/config.h
M keyboards/crkbd/keymaps/devdev/config.h
M keyboards/crkbd/keymaps/kidbrazil/config.h
M keyboards/crkbd/keymaps/ollyhayes/config.h
M keyboards/crkbd/keymaps/rpbaptist/keymap.c
M keyboards/crkbd/keymaps/soundmonster/config.h
M keyboards/crkbd/keymaps/toinux/config.h
M keyboards/crkbd/keymaps/xyverz/config.h
M keyboards/crkbd/r2g/config.h
M keyboards/crkbd/readme.md
M keyboards/crkbd/rev1/config.h
M keyboards/dekunukem/duckypad/config.h
M keyboards/doio/kb16/config.h
M keyboards/doro67/rgb/config.h
M keyboards/dp60/config.h
M keyboards/dp60/dp60.c
M keyboards/dtisaac/dosa40rgb/config.h
M keyboards/durgod/dgk6x/config.h
M keyboards/durgod/dgk6x/galaxy/galaxy.c
M keyboards/durgod/dgk6x/hades/hades.c
M keyboards/durgod/dgk6x/venus/venus.c
M keyboards/dztech/dz60rgb/dz60rgb.c
M keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c
M keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
M keyboards/dztech/dz60rgb/v1/config.h
M keyboards/dztech/dz60rgb/v2/config.h
M keyboards/dztech/dz60rgb/v2_1/config.h
M keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
M keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c
M keyboards/dztech/dz60rgb_ansi/v1/config.h
M keyboards/dztech/dz60rgb_ansi/v2/config.h
M keyboards/dztech/dz60rgb_ansi/v2_1/config.h
M keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
M keyboards/dztech/dz60rgb_wkl/v1/config.h
M keyboards/dztech/dz60rgb_wkl/v2/config.h
M keyboards/dztech/dz60rgb_wkl/v2_1/config.h
M keyboards/dztech/dz64rgb/config.h
M keyboards/dztech/dz64rgb/dz64rgb.c
M keyboards/dztech/dz65rgb/v1/config.h
M keyboards/dztech/dz65rgb/v1/v1.c
M keyboards/dztech/dz65rgb/v2/config.h
M keyboards/dztech/dz65rgb/v2/v2.c
M keyboards/dztech/dz65rgb/v3/config.h
M keyboards/dztech/dz65rgb/v3/v3.c
M keyboards/eek/config.h
M keyboards/ein_60/config.h
M keyboards/elephant42/config.h
M keyboards/ergodox_ez/config.h
M keyboards/ergodox_ez/ergodox_ez.c
M keyboards/evyd13/atom47/rev5/config.h
M keyboards/evyd13/atom47/rev5/rev5.c
M keyboards/exclusive/e6_rgb/config.h
M keyboards/exclusive/e6_rgb/e6_rgb.c
M keyboards/fallacy/config.h
M keyboards/fallacy/indicators.c
M keyboards/feker/ik75/config.h
M keyboards/feker/ik75/ik75.c
M keyboards/ferris/0_2/bling/bling.c
M keyboards/ferris/0_2/bling/config.h
M keyboards/frooastboard/walnut/config.h
M keyboards/frooastboard/walnut/walnut.c
M keyboards/geekboards/macropad_v2/config.h
M keyboards/geekboards/tester/config.h
M keyboards/geekboards/tester/tester.c
M keyboards/giabalanai/config.h
M keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc
M keyboards/gizmo_engineering/gk6/config.h
M keyboards/gizmo_engineering/gk6/gk6.c
M keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
M keyboards/gmmk/gmmk2/p65/ansi/ansi.c
M keyboards/gmmk/gmmk2/p65/config.h
M keyboards/gmmk/gmmk2/p65/iso/iso.c
M keyboards/gmmk/gmmk2/p96/ansi/ansi.c
M keyboards/gmmk/gmmk2/p96/config.h
M keyboards/gmmk/gmmk2/p96/iso/iso.c
M keyboards/gmmk/pro/rev1/ansi/ansi.c
M keyboards/gmmk/pro/rev1/ansi/config.h
M keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c
M keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c
M keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c
M keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c
M keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c
M keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h
M keyboards/gmmk/pro/rev1/iso/config.h
M keyboards/gmmk/pro/rev1/iso/iso.c
M keyboards/gmmk/pro/rev2/ansi/ansi.c
M keyboards/gmmk/pro/rev2/ansi/config.h
M keyboards/gmmk/pro/rev2/iso/config.h
M keyboards/gmmk/pro/rev2/iso/iso.c
M keyboards/gopolar/gg86/config.h
M keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c
M keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h
M keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c
M keyboards/hadron/ver3/config.h
M keyboards/handwired/6macro/config.h
M keyboards/handwired/co60/rev7/config.h
M keyboards/handwired/colorlice/config.h
M keyboards/handwired/dactyl_manuform/3x5_3/config.h
M keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h
M keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h
M keyboards/handwired/dygma/raise/ansi/ansi.c
M keyboards/handwired/dygma/raise/config.h
M keyboards/handwired/dygma/raise/iso/iso.c
M keyboards/handwired/dygma/raise/leds.c
M keyboards/handwired/dygma/raise/leds.h
M keyboards/handwired/hnah108/config.h
M keyboards/handwired/hnah40rgb/config.h
M keyboards/handwired/p65rgb/config.h
M keyboards/handwired/steamvan/rev1/config.h
M keyboards/handwired/tractyl_manuform/4x6_right/config.h
M keyboards/helix/rev3_4rows/config.h
M keyboards/helix/rev3_5rows/config.h
M keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
M keyboards/horrortroll/handwired_k552/config.h
M keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c
M keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c
M keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c
M keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c
M keyboards/hs60/v1/config.h
M keyboards/hs60/v1/v1.c
M keyboards/hs60/v2/ansi/config.h
M keyboards/hs60/v2/hhkb/config.h
M keyboards/hs60/v2/iso/config.h
M keyboards/hub20/config.h
M keyboards/idobao/id42/config.h
M keyboards/idobao/id42/id42.c
M keyboards/idobao/id63/config.h
M keyboards/idobao/id67/config.h
M keyboards/idobao/id67/keymaps/thewerther/keymap.c
M keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c
M keyboards/idobao/id75/v2/config.h
M keyboards/idobao/id80/v3/ansi/config.h
M keyboards/idobao/id87/v2/config.h
M keyboards/idobao/montex/v1rgb/config.h
M keyboards/idobao/montex/v2/config.h
M keyboards/ilumkb/simpler61/config.h
M keyboards/ilumkb/simpler61/simpler61.c
M keyboards/ilumkb/simpler64/config.h
M keyboards/ilumkb/simpler64/simpler64.c
M keyboards/inett_studio/sqx/hotswap/config.h
M keyboards/inett_studio/sqx/hotswap/hotswap.c
M keyboards/inett_studio/sqx/universal/config.h
M keyboards/inett_studio/sqx/universal/universal.c
M keyboards/input_club/ergodox_infinity/config.h
M keyboards/input_club/ergodox_infinity/ergodox_infinity.c
M keyboards/input_club/k_type/config.h
M keyboards/input_club/k_type/is31fl3733-dual.c
M keyboards/input_club/k_type/is31fl3733-dual.h
M keyboards/input_club/k_type/k_type-rgbdriver.c
M keyboards/input_club/k_type/k_type.c
M keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h
M keyboards/input_club/whitefox/config.h
M keyboards/input_club/whitefox/whitefox.c
M keyboards/jacky_studio/bear_65/config.h
M keyboards/jadookb/jkb65/config.h
M keyboards/jkeys_design/gentleman65/config.h
M keyboards/jkeys_design/gentleman65_se_s/config.h
M keyboards/kapl/rev1/config.h
M keyboards/kbdfans/baguette66/rgb/config.h
M keyboards/kbdfans/bella/rgb/config.h
M keyboards/kbdfans/bella/rgb/rgb.c
M keyboards/kbdfans/bella/rgb_iso/config.h
M keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
M keyboards/kbdfans/boop65/rgb/config.h
M keyboards/kbdfans/boop65/rgb/rgb.c
M keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
M keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c
M keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
M keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c
M keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
M keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c
M keyboards/kbdfans/kbd67/mkiirgb/v4/config.h
M keyboards/kbdfans/kbd67/mkiirgb_iso/config.h
M keyboards/kbdfans/kbd75rgb/config.h
M keyboards/kbdfans/kbdmini/config.h
M keyboards/kbdfans/kbdmini/kbdmini.c
M keyboards/kbdfans/maja/config.h
M keyboards/kbdfans/maja/maja.c
M keyboards/kbdfans/odin/rgb/config.h
M keyboards/keebio/bamfk4/config.h
M keyboards/keebio/bdn9/rev2/config.h
M keyboards/keebio/iris/rev6/config.h
M keyboards/keebio/iris/rev6a/config.h
M keyboards/keebio/iris/rev6b/config.h
M keyboards/keebio/iris/rev7/config.h
M keyboards/keebio/stick/config.h
M keyboards/keebwerk/mega/ansi/config.h
M keyboards/keybee/keybee65/config.h
M keyboards/keyboardio/model01/config.h
M keyboards/keyboardio/model01/leds.c
M keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h
M keyboards/keychron/q1/rev_0100/config.h
M keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c
M keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c
M keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c
M keyboards/keychron/q1/rev_0100/rev_0100.c
M keyboards/keychron/q1/rev_0101/config.h
M keyboards/keychron/q1/rev_0101/rev_0101.c
M keyboards/keychron/q1/rev_0102/config.h
M keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c
M keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c
M keyboards/keychron/q1/rev_0102/rev_0102.c
M keyboards/keychron/q2/rev_0110/config.h
M keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c
M keyboards/keychron/q2/rev_0110/rev_0110.c
M keyboards/keychron/q2/rev_0111/config.h
M keyboards/keychron/q2/rev_0111/rev_0111.c
M keyboards/keychron/q2/rev_0112/config.h
M keyboards/keychron/q2/rev_0112/rev_0112.c
M keyboards/keychron/q2/rev_0113/config.h
M keyboards/keychron/q2/rev_0113/rev_0113.c
M keyboards/kprepublic/bm40hsrgb/config.h
M keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h
M keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c
M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c
M keyboards/kprepublic/bm60hsrgb/rev1/config.h
M keyboards/kprepublic/bm60hsrgb/rev2/config.h
M keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
M keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h
M keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
M keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c
M keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h
M keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
M keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
M keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h
M keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c
M keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
M keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
M keyboards/kprepublic/bm65hsrgb/rev1/config.h
M keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c
M keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h
M keyboards/kprepublic/bm68hsrgb/rev1/config.h
M keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
M keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c
M keyboards/kprepublic/bm68hsrgb/rev2/config.h
M keyboards/kprepublic/bm68hsrgb/rev2/rev2.c
M keyboards/kprepublic/bm80hsrgb/config.h
M keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
M keyboards/kprepublic/bm80v2/bm80v2.c
M keyboards/kprepublic/bm80v2/config.h
M keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c
M keyboards/kprepublic/bm80v2_iso/config.h
M keyboards/kprepublic/bm980hsrgb/config.h
M keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h
M keyboards/latincompass/latin17rgb/config.h
M keyboards/latincompass/latin17rgb/latin17rgb.c
M keyboards/latincompass/latin60rgb/config.h
M keyboards/latincompass/latin60rgb/latin60rgb.c
M keyboards/latincompass/latin64ble/config.h
M keyboards/latincompass/latin6rgb/config.h
M keyboards/latincompass/latin6rgb/latin6rgb.c
M keyboards/latincompass/latinpad/config.h
M keyboards/latincompass/latinpadble/config.h
M keyboards/linworks/fave65h/config.h
M keyboards/linworks/fave84h/config.h
M keyboards/linworks/fave87h/config.h
M keyboards/maple_computing/launchpad/keymaps/drashna/config.h
M keyboards/marksard/rhymestone/rev1/config.h
M keyboards/massdrop/alt/config_led.h
M keyboards/massdrop/alt/keymaps/jdelkins/keymap.c
M keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h
M keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c
M keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h
M keyboards/massdrop/alt/keymaps/pregame/config.h
M keyboards/massdrop/alt/keymaps/pregame/keymap.c
M keyboards/massdrop/ctrl/config_led.h
M keyboards/massdrop/ctrl/keymaps/endgame/config.h
M keyboards/massdrop/ctrl/keymaps/endgame/keymap.c
M keyboards/massdrop/ctrl/keymaps/foxx1337/config.h
M keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h
M keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c
M keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
M keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
M keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c
M keyboards/massdrop/ctrl/keymaps/xanimos/config.h
M keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
M keyboards/matrix/m20add/config.h
M keyboards/matrix/m20add/rgb_ring.c
M keyboards/matrix/noah/config.h
M keyboards/matrix/noah/noah.c
M keyboards/mechlovin/adelais/rgb_led/rev1/config.h
M keyboards/mechlovin/adelais/rgb_led/rev2/config.h
M keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
M keyboards/mechlovin/adelais/rgb_led/rev3/config.h
M keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c
M keyboards/mechlovin/delphine/rgb_led/config.h
M keyboards/mechlovin/delphine/rgb_led/rgb_led.c
M keyboards/mechlovin/hannah60rgb/rev1/config.h
M keyboards/mechlovin/hannah60rgb/rev2/config.h
M keyboards/mechlovin/hannah60rgb/rev2/rev2.c
M keyboards/mechlovin/infinity87/rgb_rev1/config.h
M keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
M keyboards/mechlovin/infinity875/config.h
M keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc
M keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc
M keyboards/melgeek/mach80/rev1/config.h
M keyboards/melgeek/mach80/rev1/rev1.c
M keyboards/melgeek/mach80/rev2/config.h
M keyboards/melgeek/mach80/rev2/rev2.c
M keyboards/melgeek/mj61/rev1/config.h
M keyboards/melgeek/mj61/rev1/rev1.c
M keyboards/melgeek/mj61/rev2/config.h
M keyboards/melgeek/mj61/rev2/rev2.c
M keyboards/melgeek/mj63/rev1/config.h
M keyboards/melgeek/mj63/rev1/rev1.c
M keyboards/melgeek/mj63/rev2/config.h
M keyboards/melgeek/mj63/rev2/rev2.c
M keyboards/melgeek/mj64/rev1/config.h
M keyboards/melgeek/mj64/rev1/rev1.c
M keyboards/melgeek/mj64/rev2/config.h
M keyboards/melgeek/mj64/rev2/rev2.c
M keyboards/melgeek/mj64/rev3/config.h
M keyboards/melgeek/mj64/rev3/rev3.c
M keyboards/melgeek/mj65/rev3/config.h
M keyboards/melgeek/mj65/rev3/rev3.c
M keyboards/melgeek/mojo68/rev1/config.h
M keyboards/melgeek/mojo68/rev1/rev1.c
M keyboards/melgeek/mojo75/rev1/config.h
M keyboards/melgeek/mojo75/rev1/rev1.c
M keyboards/melgeek/tegic/rev1/config.h
M keyboards/melgeek/tegic/rev1/rev1.c
M keyboards/melgeek/z70ultra/config.h
M keyboards/melgeek/z70ultra/z70ultra.c
M keyboards/merge/um70/config.h
M keyboards/merge/um80/config.h
M keyboards/miller/gm862/config.h
M keyboards/miller/gm862/gm862.c
M keyboards/ml/gas75/config.h
M keyboards/momokai/tap_trio/config.h
M keyboards/monstargear/xo87/rgb/config.h
M keyboards/monstargear/xo87/solderable/config.h
M keyboards/moonlander/config.h
M keyboards/moonlander/moonlander.c
M keyboards/mss_studio/m63_rgb/config.h
M keyboards/mss_studio/m64_rgb/config.h
M keyboards/mt/mt64rgb/config.h
M keyboards/mt/mt64rgb/mt64rgb.c
M keyboards/mt/mt84/config.h
M keyboards/mt/mt84/mt84.c
M keyboards/mwstudio/mw65_rgb/config.h
M keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c
M keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h
M keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c
M keyboards/mwstudio/mw75/config.h
M keyboards/mwstudio/mw75r2/config.h
M keyboards/nack/config.h
M keyboards/neson_design/700e/700e.c
M keyboards/neson_design/700e/config.h
M keyboards/neson_design/n6/config.h
M keyboards/neson_design/n6/n6.c
M keyboards/novelkeys/nk20/config.h
M keyboards/novelkeys/nk65/config.h
M keyboards/novelkeys/nk65b/config.h
M keyboards/novelkeys/nk87/config.h
M keyboards/novelkeys/nk87b/config.h
M keyboards/omkbd/runner3680/5x6_5x8/config.h
M keyboards/opendeck/32/rev1/config.h
M keyboards/opendeck/32/rev1/rev1.c
M keyboards/owlab/voice65/hotswap/config.h
M keyboards/owlab/voice65/hotswap/hotswap.c
M keyboards/owlab/voice65/soldered/config.h
M keyboards/owlab/voice65/soldered/soldered.c
M keyboards/paprikman/albacore/config.h
M keyboards/percent/canoe_gen2/config.h
M keyboards/phase_studio/titan65/hotswap/config.h
M keyboards/planck/ez/config.h
M keyboards/planck/ez/ez.c
M keyboards/planck/keymaps/charlesrocket/keymap.c
M keyboards/planck/keymaps/oryx/keymap.c
M keyboards/planck/keymaps/tom/keymap.c
M keyboards/planck/keymaps/tylerwince/keymap.c
M keyboards/planck/light/config.h
M keyboards/planck/light/light.c
M keyboards/planck/rev6/config.h
M keyboards/planck/rev6_drop/config.h
M keyboards/playkbtw/pk64rgb/config.h
M keyboards/playkbtw/pk64rgb/pk64rgb.c
M keyboards/pom_keyboards/tnln95/config.h
M keyboards/preonic/rev3/config.h
M keyboards/preonic/rev3_drop/config.h
M keyboards/qpockets/space_space/rev2/config.h
M keyboards/rgbkb/mun/config.h
M keyboards/rgbkb/pan/config.h
M keyboards/rgbkb/pan/pan.c
M keyboards/rgbkb/sol/rev1/config.h
M keyboards/rgbkb/sol/rev2/config.h
M keyboards/rgbkb/sol3/config.h
M keyboards/rgbkb/zygomorph/rev1/config.h
M keyboards/ryanskidmore/rskeys100/config.h
M keyboards/s_ol/0xc_pad/config.h
M keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h
M keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
M keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h
M keyboards/sawnsprojects/satxri6key/config.h
M keyboards/senselessclay/ck60/config.h
M keyboards/sets3n/kk980/config.h
M keyboards/silverbullet44/config.h
M keyboards/skmt/15k/config.h
M keyboards/smallkeyboard/config.h
M keyboards/smallkeyboard/smallkeyboard.c
M keyboards/sofle/keymaps/devdev/config.h
M keyboards/sofle/keymaps/killmaster/config.h
M keyboards/sofle/keymaps/rgb_default/config.h
M keyboards/sofle/keymaps/via/config.h
M keyboards/sowbug/68keys/config.h
M keyboards/sowbug/ansi_tkl/config.h
M keyboards/spaceholdings/nebula12/config.h
M keyboards/spaceholdings/nebula12b/config.h
M keyboards/spaceholdings/nebula68/config.h
M keyboards/spaceholdings/nebula68b/config.h
M keyboards/spaceholdings/nebula68b/hs/config.h
M keyboards/splitkb/kyria/rev1/config.h
M keyboards/splitkb/kyria/rev2/config.h
M keyboards/synapse/config.h
M keyboards/system76/launch_1/config.h
M keyboards/system76/launch_1/rgb_matrix_kb.inc
M keyboards/system76/system76_ec.c
M keyboards/terrazzo/config.h
M keyboards/terrazzo/terrazzo.c
M keyboards/tkc/portico/config.h
M keyboards/tkc/portico/portico.c
M keyboards/tkc/portico68v2/config.h
M keyboards/tkc/portico68v2/portico68v2.c
M keyboards/tkc/portico75/config.h
M keyboards/tkc/portico75/portico75.c
M keyboards/tominabox1/le_chiffre/config.h
M keyboards/tzarc/djinn/rev1/config.h
M keyboards/tzarc/djinn/rev2/config.h
M keyboards/ungodly/launch_pad/config.h
M keyboards/wekey/we27/config.h
M keyboards/wilba_tech/rama_works_kara/config.h
M keyboards/wilba_tech/rama_works_koyu/config.h
M keyboards/wilba_tech/rama_works_m10_c/config.h
M keyboards/wilba_tech/rama_works_m50_a/config.h
M keyboards/wilba_tech/rama_works_m60_a/config.h
M keyboards/wilba_tech/rama_works_m65_b/config.h
M keyboards/wilba_tech/rama_works_m65_bx/config.h
M keyboards/wilba_tech/rama_works_u80_a/config.h
M keyboards/wilba_tech/wt60_b/config.h
M keyboards/wilba_tech/wt60_bx/config.h
M keyboards/wilba_tech/wt60_c/config.h
M keyboards/wilba_tech/wt_rgb_backlight.c
M keyboards/wilba_tech/zeal60/config.h
M keyboards/wilba_tech/zeal65/config.h
M keyboards/winry/winry315/config.h
M keyboards/winry/winry315/winry315.c
M keyboards/work_louder/loop/config.h
M keyboards/work_louder/micro/config.h
M keyboards/work_louder/nano/config.h
M keyboards/work_louder/work_board/config.h
M keyboards/xbows/knight/config.h
M keyboards/xbows/knight/knight.c
M keyboards/xbows/knight_plus/config.h
M keyboards/xbows/knight_plus/knight_plus.c
M keyboards/xbows/nature/config.h
M keyboards/xbows/nature/nature.c
M keyboards/xbows/numpad/config.h
M keyboards/xbows/numpad/numpad.c
M keyboards/xbows/ranger/config.h
M keyboards/xbows/ranger/ranger.c
M keyboards/xbows/woody/config.h
M keyboards/xbows/woody/woody.c
M keyboards/xelus/dawn60/rev1/config.h
M keyboards/xelus/dawn60/rev1_qmk/config.h
M keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
M keyboards/xelus/la_plus/config.h
M keyboards/xelus/pachi/rgb/rev1/config.h
M keyboards/xelus/pachi/rgb/rev1/rev1.c
M keyboards/xelus/pachi/rgb/rev2/config.h
M keyboards/xelus/pachi/rgb/rev2/rev2.c
M keyboards/xelus/valor/rev2/config.h
M keyboards/yandrstudio/nz64/config.h
M keyboards/yandrstudio/nz67v2/config.h
M keyboards/yandrstudio/tg67/config.h
M keyboards/yanghu/unicorne/config.h
M keyboards/yncognito/batpad/config.h
M keyboards/yushakobo/quick17/config.h
M keyboards/yushakobo/quick17/rgb_matrix_kb.inc
M layouts/community/ortho_3x10/bbaserdem/config.h
M layouts/community/ortho_4x12/drashna/config.h
M layouts/community/split_3x5_3/bbaserdem/config.h
M layouts/community/split_3x6_3/drashna/config.h
M quantum/led_matrix/led_matrix.c
M quantum/led_matrix/led_matrix.h
M quantum/led_matrix/led_matrix_drivers.c
M quantum/led_matrix/led_matrix_types.h
M quantum/rgb_matrix/animations/jellybean_raindrops_anim.h
M quantum/rgb_matrix/animations/pixel_flow_anim.h
M quantum/rgb_matrix/animations/pixel_rain_anim.h
M quantum/rgb_matrix/animations/raindrops_anim.h
M quantum/rgb_matrix/rgb_matrix.c
M quantum/rgb_matrix/rgb_matrix.h
M quantum/rgb_matrix/rgb_matrix_drivers.c
M quantum/rgb_matrix/rgb_matrix_types.h
M users/brandonschlack/rgb_bs.c
M users/byungyoonc/saturated_solid_multisplash.h
M users/curry/rgb_matrix_user.c
M users/drashna/rgb/rgb_matrix_stuff.c
M users/tominabox1/config.h
M users/tominabox1/dimple_rgb.c
M users/tominabox1/tominabox1.c
M docs/feature_led_matrix.md => docs/feature_led_matrix.md +10 -10
@@ 22,7 22,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_<N>
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many LED lights are present across all drivers | |
| `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | |
| `LED_DRIVER_ADDR_1` | (Required) Address for the first LED driver | |
| `LED_DRIVER_ADDR_2` | (Optional) Address for the second LED driver | |
| `LED_DRIVER_ADDR_3` | (Optional) Address for the third LED driver | |


@@ 44,17 44,17 @@ Here is an example using 2 drivers.
#define LED_DRIVER_COUNT 2
#define LED_DRIVER_1_LED_TOTAL 25
#define LED_DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)
#define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)
```

!> Note the parentheses, this is so when `LED_DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`.

For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *    driver
 *    |  LED address


@@ 95,7 95,7 @@ Configure the hardware via your `config.h`:
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `DRIVER_COUNT` | (Required) How many LED driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many LED lights are present across all drivers | |
| `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | |
| `DRIVER_ADDR_1` | (Optional) Address for the first LED driver | |
| `DRIVER_ADDR_<N>` | (Required) Address for the additional LED drivers | |
| `ISSI_SSR_<N>` | (Optional) Configuration for the Spread Spectrum Register | |


@@ 130,16 130,16 @@ Here is an example using 2 drivers.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 42
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.

Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *    driver
 *    |  LED address


@@ 367,7 367,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_
#define LED_DISABLE_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off
#define LED_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
#define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define LED_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs
#define LED_MATRIX_STARTUP_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set


@@ 391,7 391,7 @@ Where `28` is an unused index from `eeconfig.h`.
|Function                                    |Description  |
|--------------------------------------------|-------------|
|`led_matrix_set_value_all(v)`         |Set all of the LEDs to the given value, where `v` is between 0 and 255 (not written to EEPROM) |
|`led_matrix_set_value(index, v)`      |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) |
|`led_matrix_set_value(index, v)`      |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `LED_MATRIX_LED_COUNT` (not written to EEPROM) |

### Disable/Enable Effects :id=disable-enable-effects
|Function                                    |Description  |

M docs/feature_rgb_matrix.md => docs/feature_rgb_matrix.md +24 -24
@@ 23,7 23,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` de
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `ISSI_3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | |
| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | |
| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | |


@@ 45,17 45,17 @@ Here is an example using 2 drivers.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 25
#define DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```

!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.

For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 90,7 90,7 @@ You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` de
| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | |
| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | |
| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | |


@@ 131,17 131,17 @@ Here is an example using 2 drivers.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 58
#define DRIVER_2_LED_TOTAL 10
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```

!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.

Currently only 4 drivers are supported, but it would be trivial to support all 8 combinations.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 177,7 177,7 @@ Configure the hardware via your `config.h`:
| `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | |
| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | |



@@ 212,16 212,16 @@ Here is an example using 2 drivers.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.

Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 263,7 263,7 @@ Configure the hardware via your `config.h`:
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
| `DRIVER_ADDR_1` | (Optional) Address for the first RGB driver | |
| `DRIVER_ADDR_<N>` | (Required) Address for the additional RGB drivers | |
| `ISSI_SSR_<N>` | (Optional) Configuration for the Spread Spectrum Register | |


@@ 300,17 300,17 @@ Here is an example using 2 drivers.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 42
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```

!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.

Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 361,7 361,7 @@ Configure the hardware via your `config.h`:
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN D7
// The number of LEDs connected
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70
```

?> There are additional configuration options for ARM controllers that offer increased performance over the default bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information.


@@ 385,7 385,7 @@ Configure the hardware via your `config.h`:
// The pin connected to the clock pin of the LEDs
#define RGB_CI_PIN D6
// The number of LEDs connected
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70
```

---


@@ 408,7 408,7 @@ You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC
| `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver  | |
| `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver  | |
| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | |
| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
| `AW_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 |


@@ 426,15 426,15 @@ Here is an example using 2 drivers.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```

!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.

Define these arrays listing all the LEDs in your `<keyboard>.c`:

```c
const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT] = {
/* Each AW20216 channel is controlled by a register at some offset between 0x00
 * and 0xD7 inclusive.
 * See drivers/awinic/aw20216.h for the mapping between register offsets and


@@ 794,7 794,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
#define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set


@@ 824,7 824,7 @@ Where `28` is an unused index from `eeconfig.h`.
|Function                                    |Description  |
|--------------------------------------------|-------------|
|`rgb_matrix_set_color_all(r, g, b)`         |Set all of the LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgb_matrix_set_color(index, r, g, b)`      |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) |
|`rgb_matrix_set_color(index, r, g, b)`      |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255, and `index` is between 0 and `RGB_MATRIX_LED_COUNT` (not written to EEPROM) |

### Disable/Enable Effects :id=disable-enable-effects
|Function                                    |Description  |

M drivers/led/aw20216.c => drivers/led/aw20216.c +1 -1
@@ 133,7 133,7 @@ void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        AW20216_set_color(i, red, green, blue);
    }
}

M drivers/led/aw20216.h => drivers/led/aw20216.h +1 -1
@@ 28,7 28,7 @@ typedef struct aw_led {
    uint8_t b;
} aw_led;

extern const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL];
extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT];

void AW20216_init(pin_t cs_pin, pin_t en_pin);
void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);

M drivers/led/ckled2001-simple.c => drivers/led/ckled2001-simple.c +2 -2
@@ 148,7 148,7 @@ void CKLED2001_init(uint8_t addr) {

void CKLED2001_set_value(int index, uint8_t value) {
    ckled2001_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));

        g_pwm_buffer[led.driver][led.v]          = value;


@@ 157,7 157,7 @@ void CKLED2001_set_value(int index, uint8_t value) {
}

void CKLED2001_set_value_all(uint8_t value) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
        CKLED2001_set_value(i, value);
    }
}

M drivers/led/ckled2001-simple.h => drivers/led/ckled2001-simple.h +1 -1
@@ 25,7 25,7 @@ typedef struct ckled2001_led {
    uint8_t v;
} __attribute__((packed)) ckled2001_led;

extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL];
extern const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT];

void CKLED2001_init(uint8_t addr);
bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/ckled2001.c => drivers/led/ckled2001.c +2 -2
@@ 148,7 148,7 @@ void CKLED2001_init(uint8_t addr) {

void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    ckled2001_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));

        g_pwm_buffer[led.driver][led.r]          = red;


@@ 159,7 159,7 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        CKLED2001_set_color(i, red, green, blue);
    }
}

M drivers/led/ckled2001.h => drivers/led/ckled2001.h +1 -1
@@ 27,7 27,7 @@ typedef struct ckled2001_led {
    uint8_t b;
} __attribute__((packed)) ckled2001_led;

extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL];
extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT];

void CKLED2001_init(uint8_t addr);
bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3731-simple.c => drivers/led/issi/is31fl3731-simple.c +2 -2
@@ 194,7 194,7 @@ void IS31FL3731_init(uint8_t addr) {

void IS31FL3731_set_value(int index, uint8_t value) {
    is31_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));

        // Subtract 0x24 to get the second index of g_pwm_buffer


@@ 204,7 204,7 @@ void IS31FL3731_set_value(int index, uint8_t value) {
}

void IS31FL3731_set_value_all(uint8_t value) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
        IS31FL3731_set_value(i, value);
    }
}

M drivers/led/issi/is31fl3731-simple.h => drivers/led/issi/is31fl3731-simple.h +1 -1
@@ 27,7 27,7 @@ typedef struct is31_led {
    uint8_t v;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT];

void IS31FL3731_init(uint8_t addr);
void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3731.c => drivers/led/issi/is31fl3731.c +2 -2
@@ 182,7 182,7 @@ void IS31FL3731_init(uint8_t addr) {

void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    is31_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));

        // Subtract 0x24 to get the second index of g_pwm_buffer


@@ 194,7 194,7 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3731_set_color(i, red, green, blue);
    }
}

M drivers/led/issi/is31fl3731.h => drivers/led/issi/is31fl3731.h +1 -1
@@ 28,7 28,7 @@ typedef struct is31_led {
    uint8_t b;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];

void IS31FL3731_init(uint8_t addr);
void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3733-simple.c => drivers/led/issi/is31fl3733-simple.c +2 -2
@@ 195,7 195,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
}

void IS31FL3733_set_value(int index, uint8_t value) {
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
        is31_led led = g_is31_leds[index];

        g_pwm_buffer[led.driver][led.v]          = value;


@@ 204,7 204,7 @@ void IS31FL3733_set_value(int index, uint8_t value) {
}

void IS31FL3733_set_value_all(uint8_t value) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
        IS31FL3733_set_value(i, value);
    }
}

M drivers/led/issi/is31fl3733-simple.h => drivers/led/issi/is31fl3733-simple.h +1 -1
@@ 29,7 29,7 @@ typedef struct is31_led {
    uint8_t v;
} __attribute__((packed)) is31_led;

extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT];

void IS31FL3733_init(uint8_t addr, uint8_t sync);
bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3733.c => drivers/led/issi/is31fl3733.c +2 -2
@@ 186,7 186,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {

void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    is31_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));

        g_pwm_buffer[led.driver][led.r]          = red;


@@ 197,7 197,7 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3733_set_color(i, red, green, blue);
    }
}

M drivers/led/issi/is31fl3733.h => drivers/led/issi/is31fl3733.h +1 -1
@@ 30,7 30,7 @@ typedef struct is31_led {
    uint8_t b;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];

void IS31FL3733_init(uint8_t addr, uint8_t sync);
bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3736.c => drivers/led/issi/is31fl3736.c +2 -2
@@ 168,7 168,7 @@ void IS31FL3736_init(uint8_t addr) {

void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    is31_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));

        g_pwm_buffer[led.driver][led.r] = red;


@@ 179,7 179,7 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3736_set_color(i, red, green, blue);
    }
}

M drivers/led/issi/is31fl3736.h => drivers/led/issi/is31fl3736.h +3 -3
@@ 28,8 28,8 @@
#    define DRIVER_COUNT 2
#endif

#ifndef DRIVER_LED_TOTAL
#    define DRIVER_LED_TOTAL 96
#ifndef RGB_MATRIX_LED_COUNT
#    define RGB_MATRIX_LED_COUNT 96
#endif

typedef struct is31_led {


@@ 39,7 39,7 @@ typedef struct is31_led {
    uint8_t b;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];

void IS31FL3736_init(uint8_t addr);
void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3737.c => drivers/led/issi/is31fl3737.c +2 -2
@@ 175,7 175,7 @@ void IS31FL3737_init(uint8_t addr) {

void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    is31_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));

        g_pwm_buffer[led.driver][led.r]          = red;


@@ 186,7 186,7 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3737_set_color(i, red, green, blue);
    }
}

M drivers/led/issi/is31fl3737.h => drivers/led/issi/is31fl3737.h +1 -1
@@ 30,7 30,7 @@ typedef struct is31_led {
    uint8_t b;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];

void IS31FL3737_init(uint8_t addr);
void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31fl3741.c => drivers/led/issi/is31fl3741.c +2 -2
@@ 179,7 179,7 @@ void IS31FL3741_init(uint8_t addr) {

void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    is31_led led;
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));

        g_pwm_buffer[led.driver][led.r]          = red;


@@ 190,7 190,7 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3741_set_color(i, red, green, blue);
    }
}

M drivers/led/issi/is31fl3741.h => drivers/led/issi/is31fl3741.h +1 -1
@@ 30,7 30,7 @@ typedef struct is31_led {
    uint32_t b : 10;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];

void IS31FL3741_init(uint8_t addr);
void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);

M drivers/led/issi/is31flcommon.c => drivers/led/issi/is31flcommon.c +9 -6
@@ 135,14 135,17 @@ void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) {
void IS31FL_set_manual_scaling_buffer(void) {
    for (int i = 0; i < ISSI_MANUAL_SCALING; i++) {
        is31_led scale = g_is31_scaling[i];
        if (scale.driver >= 0 && scale.driver < DRIVER_LED_TOTAL) {
#    ifdef RGB_MATRIX_ENABLE
        if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) {
            is31_led led = g_is31_leds[scale.driver];

#    ifdef RGB_MATRIX_ENABLE
            g_scaling_buffer[led.driver][led.r] = scale.r;
            g_scaling_buffer[led.driver][led.g] = scale.g;
            g_scaling_buffer[led.driver][led.b] = scale.b;
#    elif defined(LED_MATRIX_ENABLE)
        if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) {
            is31_led led = g_is31_leds[scale.driver];

            g_scaling_buffer[led.driver][led.v] = scale.v;
#    endif
            g_scaling_buffer_update_required[led.driver] = true;


@@ 165,7 168,7 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) {
#ifdef RGB_MATRIX_ENABLE
// Colour is set by adjusting PWM register
void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        is31_led led = g_is31_leds[index];

        g_pwm_buffer[led.driver][led.r]          = red;


@@ 176,7 179,7 @@ void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL_RGB_set_color(i, red, green, blue);
    }
}


@@ 215,7 218,7 @@ void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) {
}

void IS31FL_simple_set_brightness(int index, uint8_t value) {
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < LED_MATRIX_LED_COUNT) {
        is31_led led = g_is31_leds[index];
        g_pwm_buffer[led.driver][led.v] = value;
        g_pwm_buffer_update_required[led.driver] = true;


@@ 223,7 226,7 @@ void IS31FL_simple_set_brightness(int index, uint8_t value) {
}

void IS31FL_simple_set_brigntness_all(uint8_t value) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
        IS31FL_simple_set_brightness(i, value);
    }
}

M drivers/led/issi/is31flcommon.h => drivers/led/issi/is31flcommon.h +4 -2
@@ 43,11 43,15 @@ typedef struct is31_led {
    uint8_t b;
} __attribute__((packed)) is31_led;

extern const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT];

#elif defined(LED_MATRIX_ENABLE)
typedef struct is31_led {
    uint8_t driver;
    uint8_t v;
} __attribute__((packed)) is31_led;

extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT];
#endif

#ifdef ISSI_MANUAL_SCALING


@@ 55,8 59,6 @@ extern const is31_led __flash g_is31_scaling[];
void                          IS31FL_set_manual_scaling_buffer(void);
#endif

extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];

void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data);
bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr);
void IS31FL_unlock_register(uint8_t addr, uint8_t page);

M keyboards/1upkeyboards/pi40/config.h => keyboards/1upkeyboards/pi40/config.h +1 -1
@@ 29,7 29,7 @@
#define ENCODERS_PAD_B { GP13 }

#define RGB_DI_PIN GP0
#define DRIVER_LED_TOTAL 47
#define RGB_MATRIX_LED_COUNT 47
#define RGBLED_NUM 47
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS  

M keyboards/1upkeyboards/super16/config.h => keyboards/1upkeyboards/super16/config.h +1 -1
@@ 53,7 53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN D3
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 16  // Add 12 if attaching the RGB LED ring
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    ifdef RGBLIGHT_ENABLE
#        define RGBLIGHT_HUE_STEP 8
#        define RGBLIGHT_SAT_STEP 8

M keyboards/1upkeyboards/super16v2/config.h => keyboards/1upkeyboards/super16v2/config.h +1 -1
@@ 62,7 62,7 @@
//#define BACKLIGHT_BREATHING

#define RGB_DI_PIN B5
#define DRIVER_LED_TOTAL 20
#define RGB_MATRIX_LED_COUNT 20
#ifdef RGB_DI_PIN
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#    define RGBLIGHT_LIMIT_VAL 255

M keyboards/3keyecosystem/2key2/config.h => keyboards/3keyecosystem/2key2/config.h +1 -1
@@ 34,7 34,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* RGB matrix key backlighting */
#define RGB_DI_PIN B2
#define DRIVER_LED_TOTAL 2
#define RGB_MATRIX_LED_COUNT 2
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE
#define RGB_MATRIX_STARTUP_HUE 90

M keyboards/4pplet/perk60_iso/rev_a/config.h => keyboards/4pplet/perk60_iso/rev_a/config.h +1 -1
@@ 33,7 33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 62
#define RGB_MATRIX_LED_COUNT 62
#define ISSI_PWM_FREQUENCY 0b010

#define RGB_MATRIX_STARTUP_VAL 80

M keyboards/4pplet/perk60_iso/rev_a/rev_a.c => keyboards/4pplet/perk60_iso/rev_a/rev_a.c +1 -1
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "rev_a.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, K_2,  J_2,  L_2 }, //D402
    { 0, K_3,  J_3,  L_3 }, //D403
    { 0, K_4,  J_4,  L_4 }, //D404

M keyboards/abatskeyboardclub/nayeon/config.h => keyboards/abatskeyboardclub/nayeon/config.h +1 -1
@@ 21,6 21,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* RGB Matrix setup */
#define RGB_DI_PIN GP19
#define DRIVER_LED_TOTAL 2
#define RGB_MATRIX_LED_COUNT 2
#define RGBLED_NUM 2
#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral

M keyboards/acheron/apollo/87h/delta/config.h => keyboards/acheron/apollo/87h/delta/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE

#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 87
#define RGB_MATRIX_LED_COUNT 87

#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1

M keyboards/acheron/apollo/87h/gamma/config.h => keyboards/acheron/apollo/87h/gamma/config.h +2 -2
@@ 45,8 45,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 87
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT

#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/acheron/apollo/87h/gamma/gamma.c => keyboards/acheron/apollo/87h/gamma/gamma.c +1 -1
@@ 18,7 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "gamma.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/acheron/apollo/87htsc/config.h => keyboards/acheron/apollo/87htsc/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE

#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 86
#define RGB_MATRIX_LED_COUNT 86

#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1

M keyboards/acheron/apollo/88htsc/config.h => keyboards/acheron/apollo/88htsc/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE

#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 87
#define RGB_MATRIX_LED_COUNT 87

#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1

M keyboards/adafruit/macropad/config.h => keyboards/adafruit/macropad/config.h +1 -1
@@ 78,7 78,7 @@

     /* RGB Defines */
#    define RGB_DI_PIN GP19
#    define DRIVER_LED_TOTAL 12
#    define RGB_MATRIX_LED_COUNT 12
#    define RGBLED_NUM 12

     /* Enable Framebuffer and keypress effects */

M keyboards/adm42/rev4/config.h => keyboards/adm42/rev4/config.h +1 -1
@@ 21,7 21,7 @@

#define RGB_DI_PIN B7

#define DRIVER_LED_TOTAL 42
#define RGB_MATRIX_LED_COUNT 42
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_LED_PROCESS_LIMIT 21

M keyboards/aleblazer/zodiark/config.h => keyboards/aleblazer/zodiark/config.h +1 -1
@@ 53,7 53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#endif

#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 68
#define RGB_MATRIX_LED_COUNT 68
#define RGB_MATRIX_SPLIT { 34, 34 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_KEYPRESSES

M keyboards/an_achronism/tetromino/config.h => keyboards/an_achronism/tetromino/config.h +1 -1
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#pragma once
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70

/* disable debug print */
//#define NO_DEBUG

M keyboards/annepro2/config_led.h => keyboards/annepro2/config_led.h +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

#define DRIVER_LED_TOTAL 61
#define RGB_MATRIX_LED_COUNT 61

/* Limit animations to 62.5 FPS to avoid tearing. (1/.016 = 62.5 FPS). */
#define RGB_MATRIX_LED_FLUSH_LIMIT 16

M keyboards/annepro2/rgb_driver.c => keyboards/annepro2/rgb_driver.c +2 -2
@@ 19,7 19,7 @@
#include "rgb_matrix.h"
#include "ap2_led.h"

uint8_t led_pos[DRIVER_LED_TOTAL];
uint8_t led_pos[RGB_MATRIX_LED_COUNT];

void init(void) {
    unsigned int i = 0;


@@ 52,7 52,7 @@ void set_color(int index, uint8_t r, uint8_t g, uint8_t b) {
}

void set_color_all(uint8_t r, uint8_t g, uint8_t b) {
    for (int i=0; i<DRIVER_LED_TOTAL; i++)
    for (int i=0; i<RGB_MATRIX_LED_COUNT; i++)
        set_color(i, r, g, b);
}


M keyboards/atlantis/ak81_ve/config.h => keyboards/atlantis/ak81_ve/config.h +1 -1
@@ 57,7 57,7 @@
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
#define DRIVER_LED_TOTAL 96
#define RGB_MATRIX_LED_COUNT 96
#define RGB_MATRIX_STARTUP_HUE 170
#define RGB_MATRIX_STARTUP_SAT 255
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130

M keyboards/axolstudio/yeti/hotswap/config.h => keyboards/axolstudio/yeti/hotswap/config.h +1 -1
@@ 78,7 78,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGB_DISABLE_WHEN_USB_SUSPENDED      // turn off effects when suspended
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 64
#    define RGB_MATRIX_LED_COUNT 64
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */

M keyboards/axolstudio/yeti/hotswap/hotswap.c => keyboards/axolstudio/yeti/hotswap/hotswap.c +1 -1
@@ 17,7 17,7 @@
#include "hotswap.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_1,  A_1,  C_1 },
    { 0, B_2,  A_2,  C_2 },
    { 0, B_3,  A_3,  C_3 },

M keyboards/bandominedoni/config.h => keyboards/bandominedoni/config.h +1 -1
@@ 91,7 91,7 @@
#ifdef RGB_MATRIX_ENABLE

/* ws2812 RGB MATRIX */
#   define DRIVER_LED_TOTAL 76
#   define RGB_MATRIX_LED_COUNT 76

 // reacts to keypresses
#   define RGB_MATRIX_KEYPRESSES

M keyboards/basekeys/trifecta/config.h => keyboards/basekeys/trifecta/config.h +2 -2
@@ 36,7 36,7 @@


#define RGB_DI_PIN E6
#define DRIVER_LED_TOTAL 80
#define RGB_MATRIX_LED_COUNT 80

/* RGB LED */
#ifdef RGBLIGHT_ENABLE


@@ 75,7 75,7 @@
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
//#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/bastardkb/charybdis/3x5/config.h => keyboards/bastardkb/charybdis/3x5/config.h +1 -1
@@ 38,7 38,7 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/bastardkb/charybdis/3x6/config.h => keyboards/bastardkb/charybdis/3x6/config.h +1 -1
@@ 40,7 40,7 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/bastardkb/charybdis/4x6/config.h => keyboards/bastardkb/charybdis/4x6/config.h +1 -1
@@ 38,7 38,7 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/bastardkb/scylla/config.h => keyboards/bastardkb/scylla/config.h +1 -1
@@ 37,7 37,7 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/bastardkb/skeletyl/config.h => keyboards/bastardkb/skeletyl/config.h +1 -1
@@ 37,7 37,7 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/bastardkb/tbkmini/config.h => keyboards/bastardkb/tbkmini/config.h +1 -1
@@ 37,7 37,7 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
#    define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS

M keyboards/blockboy/ac980mini/config.h => keyboards/blockboy/ac980mini/config.h +2 -2
@@ 7,7 7,7 @@
// RGB configuration
#define RGB_DI_PIN B7
// The number of LEDs connected
#define DRIVER_LED_TOTAL  81
#define RGB_MATRIX_LED_COUNT  81
//#ifdef RGB_DI_PIN
#    define RGBLED_NUM 81



@@ 17,7 17,7 @@
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
//#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. 
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/boardsource/beiwagon/config.h => keyboards/boardsource/beiwagon/config.h +1 -1
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#pragma once
#define RGB_DI_PIN C6
#define DRIVER_LED_TOTAL 18
#define RGB_MATRIX_LED_COUNT 18
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING

M keyboards/boardsource/lulu/config.h => keyboards/boardsource/lulu/config.h +1 -1
@@ 3,7 3,7 @@

#pragma once
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70
#define RGB_MATRIX_SPLIT { 35, 35 }
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN

M keyboards/boardsource/microdox/v2/config.h => keyboards/boardsource/microdox/v2/config.h +1 -1
@@ 4,7 4,7 @@

#define RGB_DI_PIN B5
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define DRIVER_LED_TOTAL 44
#define RGB_MATRIX_LED_COUNT 44
#define RGB_MATRIX_SPLIT { 22, 22 }
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define ENABLE_RGB_MATRIX_ALPHAS_MODS

M keyboards/boardsource/technik_o/config.h => keyboards/boardsource/technik_o/config.h +1 -1
@@ 18,7 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define DRIVER_LED_TOTAL 58
#define RGB_MATRIX_LED_COUNT 58
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING

M keyboards/boardsource/technik_s/config.h => keyboards/boardsource/technik_s/config.h +1 -1
@@ 18,7 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define DRIVER_LED_TOTAL 55
#define RGB_MATRIX_LED_COUNT 55
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING

M keyboards/boardsource/the_mark/config.h => keyboards/boardsource/the_mark/config.h +1 -1
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#pragma once
#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL 24
#    define RGB_MATRIX_LED_COUNT 24
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define RGB_DISABLE_WHEN_USB_SUSPENDED
#    define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN

M keyboards/boston_meetup/2019/config.h => keyboards/boston_meetup/2019/config.h +1 -1
@@ 155,7 155,7 @@

#define RGBLED_NUM 10
#define RGB_DI_PIN B5
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define RGB_MATRIX_KEYPRESSES


M keyboards/canary/canary60rgb/canary60rgb.c => keyboards/canary/canary60rgb/canary60rgb.c +1 -1
@@ 16,7 16,7 @@
 #include "canary60rgb.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, J_14, K_14,  L_14 },
    { 0, J_13, K_13,  L_13 },
    { 0, J_12, K_12,  L_12 },

M keyboards/canary/canary60rgb/v1/config.h => keyboards/canary/canary60rgb/v1/config.h +1 -1
@@ 78,5 78,5 @@
#    define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 63
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/capsunlocked/cu80/v2_ansi/config.h => keyboards/capsunlocked/cu80/v2_ansi/config.h +1 -1
@@ 24,5 24,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE

/* Define RGB */
#define DRIVER_LED_TOTAL 87
#define RGB_MATRIX_LED_COUNT 87
#define RGBLIGHT_ANIMATIONS

M keyboards/capsunlocked/cu80/v2_iso/config.h => keyboards/capsunlocked/cu80/v2_iso/config.h +1 -1
@@ 25,5 25,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE

/* Define RGB */
#define DRIVER_LED_TOTAL 88
#define RGB_MATRIX_LED_COUNT 88
#define RGBLIGHT_ANIMATIONS

M keyboards/checkerboards/quark_lp/config.h => keyboards/checkerboards/quark_lp/config.h +1 -1
@@ 41,7 41,7 @@
#define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to

#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 51
#define RGB_MATRIX_LED_COUNT 51
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 out of 255. Higher may cause the controller to crash.

M keyboards/cherrybstudio/cb87rgb/config.h => keyboards/cherrybstudio/cb87rgb/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DEBOUNCE 5

#define RGB_DI_PIN E6
#define DRIVER_LED_TOTAL 92
#define RGB_MATRIX_LED_COUNT 92
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_LED_FLUSH_LIMIT 16

M keyboards/chromatonemini/config.h => keyboards/chromatonemini/config.h +1 -1
@@ 88,7 88,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#ifdef RGB_MATRIX_ENABLE

/* ws2812 RGB MATRIX */
#   define DRIVER_LED_TOTAL 116
#   define RGB_MATRIX_LED_COUNT 116

 // reacts to keypresses
#   define RGB_MATRIX_KEYPRESSES

M keyboards/chromatonemini/rgb_matrix_kb.inc => keyboards/chromatonemini/rgb_matrix_kb.inc +2 -2
@@ 42,7 42,7 @@ bool my_solid_reactive_col(effect_params_t* params) {
        RGB      rgb    = rgb_matrix_hsv_to_rgb(hsv);
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool my_party_rocks(effect_params_t* params) {


@@ 51,7 51,7 @@ bool my_party_rocks(effect_params_t* params) {
    RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
    // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

#    endif      // RGB_MATRIX_CUSTOM_EFFECT_IMPLS

M keyboards/clueboard/66_hotswap/gen1/config.h => keyboards/clueboard/66_hotswap/gen1/config.h +1 -1
@@ 79,7 79,7 @@
#define I2C1_SDA_PIN B9

#define LED_DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 71
#define LED_MATRIX_LED_COUNT 71

// LED Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/clueboard/66_hotswap/gen1/gen1.c => keyboards/clueboard/66_hotswap/gen1/gen1.c +1 -1
@@ 16,7 16,7 @@
#include "gen1.h"

#ifdef LED_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *    driver
 *    |  LED address

M keyboards/crkbd/keymaps/bermeo/config.h => keyboards/crkbd/keymaps/bermeo/config.h +1 -1
@@ 77,7 77,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#    define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#    define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#    define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#    define RGB_MATRIX_LED_FLUSH_LIMIT 16                           // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150                       // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/bermeo/keymap.c => keyboards/crkbd/keymaps/bermeo/keymap.c +4 -4
@@ 87,7 87,7 @@ void rgb_matrix_indicators_user(void) {
        case _QWERTY:
            isSneaking = false;
            mod_state  = get_mods();
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (mod_state & MOD_MASK_SHIFT) {
                    isBarking = true;
                    rgb_matrix_set_color(52, 255, 255, 255);


@@ 135,7 135,7 @@ void rgb_matrix_indicators_user(void) {

        case _RAISE:
            isSneaking = true;
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                switch (i) {
                    case 7:                                     // B key off
                    case 8:                                     // G key off


@@ 169,7 169,7 @@ void rgb_matrix_indicators_user(void) {

        case _LOWER:
            isSneaking = true;
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                switch (i) {
                    case 7:                                     // Delete key
                    case 51:                                    // ESC key


@@ 210,7 210,7 @@ void rgb_matrix_indicators_user(void) {

        case _NUMP:
            isSneaking = true;
            for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                switch (i) {
                    case 12:                                    // RGB speed-
                    case 15:                                    // RGB brigthness-

M keyboards/crkbd/keymaps/crkdves/config.h => keyboards/crkbd/keymaps/crkdves/config.h +1 -1
@@ 56,7 56,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#   define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/crkqwes/config.h => keyboards/crkbd/keymaps/crkqwes/config.h +1 -1
@@ 65,7 65,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#   define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/davidrambo/config.h => keyboards/crkbd/keymaps/davidrambo/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    // #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#    define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
    // #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
    #define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/devdev/config.h => keyboards/crkbd/keymaps/devdev/config.h +1 -1
@@ 73,7 73,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.


M keyboards/crkbd/keymaps/kidbrazil/config.h => keyboards/crkbd/keymaps/kidbrazil/config.h +1 -1
@@ 53,7 53,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    // #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
    #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
    #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
    // #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
    // #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
    #define RGB_MATRIX_HUE_STEP 4

M keyboards/crkbd/keymaps/ollyhayes/config.h => keyboards/crkbd/keymaps/ollyhayes/config.h +1 -1
@@ 33,7 33,7 @@
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/rpbaptist/keymap.c => keyboards/crkbd/keymaps/rpbaptist/keymap.c +1 -1
@@ 324,7 324,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_
    }

    RGB rgb = hsv_to_rgb(hsv);
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
            rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
        }

M keyboards/crkbd/keymaps/soundmonster/config.h => keyboards/crkbd/keymaps/soundmonster/config.h +1 -1
@@ 61,7 61,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#   define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/toinux/config.h => keyboards/crkbd/keymaps/toinux/config.h +1 -1
@@ 54,7 54,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/keymaps/xyverz/config.h => keyboards/crkbd/keymaps/xyverz/config.h +1 -1
@@ 48,7 48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
    #define RGBLED_NUM 54  // Number of LEDs
    #define DRIVER_LED_TOTAL RGBLED_NUM
    #define RGB_MATRIX_LED_COUNT RGBLED_NUM
#endif

#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"

M keyboards/crkbd/r2g/config.h => keyboards/crkbd/r2g/config.h +1 -1
@@ 44,7 44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
#    define RGBLED_NUM       54 // Number of LEDs
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT \
        { 27, 27 }
#    define SPLIT_TRANSPORT_MIRROR

M keyboards/crkbd/readme.md => keyboards/crkbd/readme.md +1 -1
@@ 46,7 46,7 @@ And in your `config.h` file, add the following:
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. 
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/crkbd/rev1/config.h => keyboards/crkbd/rev1/config.h +1 -1
@@ 32,7 32,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
#    define RGBLED_NUM       54 // Number of LEDs
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT \
        { 27, 27 }
#    define SPLIT_TRANSPORT_MIRROR

M keyboards/dekunukem/duckypad/config.h => keyboards/dekunukem/duckypad/config.h +1 -1
@@ 29,7 29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define RGB_DI_PIN A10
#define RGBLED_NUM 15
#define DRIVER_LED_TOTAL 15
#define RGB_MATRIX_LED_COUNT 15

#ifdef RGB_MATRIX_ENABLE


M keyboards/doio/kb16/config.h => keyboards/doio/kb16/config.h +1 -1
@@ 49,7 49,7 @@
#ifdef RGB_MATRIX_ENABLE
    /* RGB Matrix config */
    #define RGB_DI_PIN F6
    #define DRIVER_LED_TOTAL 16
    #define RGB_MATRIX_LED_COUNT 16
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_UP_DOWN

M keyboards/doro67/rgb/config.h => keyboards/doro67/rgb/config.h +1 -1
@@ 45,7 45,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN B7
// The number of LEDs connected
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67

#define RGB_MATRIX_KEYPRESSES
// RGB Matrix Animation modes. Explicitly enabled

M keyboards/dp60/config.h => keyboards/dp60/config.h +1 -1
@@ 50,7 50,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/dp60/dp60.c => keyboards/dp60/dp60.c +1 -1
@@ 17,7 17,7 @@
#include "dp60.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/dtisaac/dosa40rgb/config.h => keyboards/dtisaac/dosa40rgb/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
#define RGB_DI_PIN D0
#define DRIVER_LED_TOTAL 42
#define RGB_MATRIX_LED_COUNT 42
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/durgod/dgk6x/config.h => keyboards/durgod/dgk6x/config.h +1 -1
@@ 62,7 62,7 @@
#define DRIVER_ADDR_2 0b1010011

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* I2C Alternate function settings */
#define I2C1_SCL_PAL_MODE 1

M keyboards/durgod/dgk6x/galaxy/galaxy.c => keyboards/durgod/dgk6x/galaxy/galaxy.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/durgod/dgk6x/hades/hades.c => keyboards/durgod/dgk6x/hades/hades.c +1 -1
@@ 19,7 19,7 @@
#ifdef RGB_MATRIX_ENABLE


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/durgod/dgk6x/venus/venus.c => keyboards/durgod/dgk6x/venus/venus.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/dztech/dz60rgb/dz60rgb.c => keyboards/dztech/dz60rgb/dz60rgb.c +1 -1
@@ 1,7 1,7 @@
#include "dz60rgb.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, K_14, J_14, L_14 },
    { 0, K_13, J_13, L_13 },
    { 0, K_12, J_12, L_12 },

M keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c => keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c +1 -1
@@ 50,7 50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {


void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }

M keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c => keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c +1 -1
@@ 27,7 27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }

M keyboards/dztech/dz60rgb/v1/config.h => keyboards/dztech/dz60rgb/v1/config.h +1 -1
@@ 81,5 81,5 @@
#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 63
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/dztech/dz60rgb/v2/config.h => keyboards/dztech/dz60rgb/v2/config.h +1 -1
@@ 79,5 79,5 @@

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 63
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/dztech/dz60rgb/v2_1/config.h => keyboards/dztech/dz60rgb/v2_1/config.h +1 -1
@@ 95,5 95,5 @@

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 63
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c => keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +1 -1
@@ 1,7 1,7 @@
#include "dz60rgb_ansi.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, K_14, J_14, L_14 },
    { 0, K_13, J_13, L_13 },
    { 0, K_12, J_12, L_12 },

M keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c => keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c +1 -1
@@ 74,7 74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }

M keyboards/dztech/dz60rgb_ansi/v1/config.h => keyboards/dztech/dz60rgb_ansi/v1/config.h +1 -1
@@ 81,5 81,5 @@
#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 61
#    define RGB_MATRIX_LED_COUNT 61
#endif

M keyboards/dztech/dz60rgb_ansi/v2/config.h => keyboards/dztech/dz60rgb_ansi/v2/config.h +1 -1
@@ 79,5 79,5 @@

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 61
#    define RGB_MATRIX_LED_COUNT 61
#endif

M keyboards/dztech/dz60rgb_ansi/v2_1/config.h => keyboards/dztech/dz60rgb_ansi/v2_1/config.h +1 -1
@@ 95,5 95,5 @@

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 61
#    define RGB_MATRIX_LED_COUNT 61
#endif

M keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c => keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c +1 -1
@@ 1,7 1,7 @@
#include "dz60rgb_wkl.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, H_15, G_15, I_15 },
    { 0, K_14, J_14, L_14 },
    { 0, K_13, J_13, L_13 },

M keyboards/dztech/dz60rgb_wkl/v1/config.h => keyboards/dztech/dz60rgb_wkl/v1/config.h +1 -1
@@ 81,5 81,5 @@
#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 62
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/dztech/dz60rgb_wkl/v2/config.h => keyboards/dztech/dz60rgb_wkl/v2/config.h +1 -1
@@ 76,5 76,5 @@

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 62
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/dztech/dz60rgb_wkl/v2_1/config.h => keyboards/dztech/dz60rgb_wkl/v2_1/config.h +1 -1
@@ 95,5 95,5 @@

#    define DRIVER_ADDR_1      0b1010000
#    define DRIVER_COUNT       1
#    define DRIVER_LED_TOTAL   62
#    define RGB_MATRIX_LED_COUNT   62
#endif

M keyboards/dztech/dz64rgb/config.h => keyboards/dztech/dz64rgb/config.h +1 -1
@@ 59,6 59,6 @@
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64
#endif
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2

M keyboards/dztech/dz64rgb/dz64rgb.c => keyboards/dztech/dz64rgb/dz64rgb.c +1 -1
@@ 17,7 17,7 @@
#include "dz64rgb.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, K_14, J_14, L_14 },
    { 0, K_13, J_13, L_13 },
    { 0, K_12, J_12, L_12 },

M keyboards/dztech/dz65rgb/v1/config.h => keyboards/dztech/dz65rgb/v1/config.h +1 -1
@@ 97,5 97,5 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 33
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/dztech/dz65rgb/v1/v1.c => keyboards/dztech/dz65rgb/v1/v1.c +1 -1
@@ 16,7 16,7 @@
#include "v1.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, C8_8,  C7_8,  C6_8 },
    { 0, C9_8,  C7_7,  C6_7 },
    { 0, C9_7,  C8_7,  C6_6 },

M keyboards/dztech/dz65rgb/v2/config.h => keyboards/dztech/dz65rgb/v2/config.h +1 -1
@@ 97,5 97,5 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 33
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/dztech/dz65rgb/v2/v2.c => keyboards/dztech/dz65rgb/v2/v2.c +1 -1
@@ 16,7 16,7 @@
#include "v2.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, C8_8,  C7_8,  C6_8 },
    { 0, C9_8,  C7_7,  C6_7 },
    { 0, C9_7,  C8_7,  C6_6 },

M keyboards/dztech/dz65rgb/v3/config.h => keyboards/dztech/dz65rgb/v3/config.h +1 -1
@@ 89,6 89,6 @@
#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b0110000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 68
#    define RGB_MATRIX_LED_COUNT 68
#    define DRIVER_INDICATOR_LED_TOTAL 0
#endif

M keyboards/dztech/dz65rgb/v3/v3.c => keyboards/dztech/dz65rgb/v3/v3.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS21_SW1, CS20_SW1, CS19_SW1},
    {0, CS21_SW2, CS20_SW2, CS19_SW2},
    {0, CS21_SW3, CS20_SW3, CS19_SW3}, 

M keyboards/eek/config.h => keyboards/eek/config.h +1 -1
@@ 59,7 59,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #endif

 #ifdef RGB_MATRIX_ENABLE
  #define DRIVER_LED_TOTAL 36
  #define RGB_MATRIX_LED_COUNT 36
  #define RGB_MATRIX_LED_FLUSH_LIMIT 16
  #define RGB_MATRIX_STARTUP_VAL 150
  #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200

M keyboards/ein_60/config.h => keyboards/ein_60/config.h +1 -1
@@ 73,7 73,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#endif

#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL              38
#    define RGB_MATRIX_LED_COUNT              38
#    define RGB_MATRIX_LED_FLUSH_LIMIT    16
#    define RGB_MATRIX_STARTUP_VAL        150
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200

M keyboards/elephant42/config.h => keyboards/elephant42/config.h +1 -1
@@ 65,7 65,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL
#    define RGB_MATRIX_HUE_STEP RGBLIGHT_HUE_STEP

M keyboards/ergodox_ez/config.h => keyboards/ergodox_ez/config.h +1 -1
@@ 119,7 119,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 24
#define DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#define RGB_MATRIX_LED_PROCESS_LIMIT 5
#define RGB_MATRIX_LED_FLUSH_LIMIT 26

M keyboards/ergodox_ez/ergodox_ez.c => keyboards/ergodox_ez/ergodox_ez.c +1 -1
@@ 243,7 243,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {

#ifdef RGB_MATRIX_ENABLE
// clang-format off
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/*   driver
 *   |  R location
 *   |  |      G location

M keyboards/evyd13/atom47/rev5/config.h => keyboards/evyd13/atom47/rev5/config.h +1 -1
@@ 146,7 146,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// The result is: 0b101(ADDR2)(ADDR1)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/evyd13/atom47/rev5/rev5.c => keyboards/evyd13/atom47/rev5/rev5.c +1 -1
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#include "rev5.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/exclusive/e6_rgb/config.h => keyboards/exclusive/e6_rgb/config.h +1 -1
@@ 25,4 25,4 @@
#define DRIVER_ADDR_1 0b1010000

#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 63
#define RGB_MATRIX_LED_COUNT 63

M keyboards/exclusive/e6_rgb/e6_rgb.c => keyboards/exclusive/e6_rgb/e6_rgb.c +1 -1
@@ 11,7 11,7 @@ void matrix_init_kb(void) {
  matrix_init_user();
}

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/fallacy/config.h => keyboards/fallacy/config.h +1 -1
@@ 36,7 36,7 @@
 */
#define LED_DRIVER_ADDR_1 0b1110100
#define LED_DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 3
#define LED_MATRIX_LED_COUNT 3

/* Set 0 if debouncing isn't needed
 */

M keyboards/fallacy/indicators.c => keyboards/fallacy/indicators.c +2 -2
@@ 25,7 25,7 @@ void init_fallacy_leds(void) {
    i2c_init();
    IS31FL3731_init(LED_DRIVER_ADDR_1);

    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) {
        IS31FL3731_set_led_control_register(i, true);
    }



@@ 54,7 54,7 @@ void set_fallacy_led(int index, bool state) {

/* define LED matrix
 */
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
    {0, C1_1},
    {0, C2_1},
    {0, C3_1},

M keyboards/feker/ik75/config.h => keyboards/feker/ik75/config.h +1 -1
@@ 46,7 46,7 @@
#endif

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
    #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/feker/ik75/ik75.c => keyboards/feker/ik75/ik75.c +1 -1
@@ 18,7 18,7 @@
#include "ik75.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  G location

M keyboards/ferris/0_2/bling/bling.c => keyboards/ferris/0_2/bling/bling.c +1 -1
@@ 27,7 27,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
|    | 4  |   |    ||   |   | 4  |   |
| 6  |    |   | 2  || 2 |   |    | 5 |
*/
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    /* Refer to IS31 manual for these locations
     *   driver
     *   |  R location

M keyboards/ferris/0_2/bling/config.h => keyboards/ferris/0_2/bling/config.h +1 -1
@@ 23,7 23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 7
#define DRIVER_2_LED_TOTAL 7
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/frooastboard/walnut/config.h => keyboards/frooastboard/walnut/config.h +1 -1
@@ 12,7 12,7 @@
#define ISSI_SWPULLUP PUR_0R
#define ISSI_CSPULLUP PUR_0R
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 48
#define RGB_MATRIX_LED_COUNT 48
#define DRIVER_ADDR_1 0b1010000

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191

M keyboards/frooastboard/walnut/walnut.c => keyboards/frooastboard/walnut/walnut.c +1 -1
@@ 5,7 5,7 @@

#if defined(RGB_MATRIX_ENABLE)

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/geekboards/macropad_v2/config.h => keyboards/geekboards/macropad_v2/config.h +1 -1
@@ 22,7 22,7 @@
#define DIRECT_PINS {{B13, B15, B3, B5}, {B12, B14, A13, B7}}

#define RGBLED_NUM 42
#define DRIVER_LED_TOTAL 42
#define RGB_MATRIX_LED_COUNT 42
#define RGB_DI_PIN A7

// PWM RGB Underglow Defines

M keyboards/geekboards/tester/config.h => keyboards/geekboards/tester/config.h +1 -1
@@ 71,5 71,5 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 8
#    define DRIVER_2_LED_TOTAL 0
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/geekboards/tester/tester.c => keyboards/geekboards/tester/tester.c +1 -1
@@ 1,5 1,5 @@
#include "tester.h"
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/giabalanai/config.h => keyboards/giabalanai/config.h +1 -1
@@ 108,7 108,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
/* ws2812 RGB MATRIX */
#   define DRIVER_LED_TOTAL 123
#   define RGB_MATRIX_LED_COUNT 123
#   define RGB_MATRIX_KEYPRESSES  // reacts to keypresses

//  for all fingers used at once.

M keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc => keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc +2 -2
@@ 40,7 40,7 @@ bool my_solid_reactive_with_CnoteIndicator(effect_params_t* params) {
        RGB      rgb    = rgb_matrix_hsv_to_rgb(hsv);
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool my_party_rocks(effect_params_t* params) {


@@ 49,7 49,7 @@ bool my_party_rocks(effect_params_t* params) {
    RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
    // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}



M keyboards/gizmo_engineering/gk6/config.h => keyboards/gizmo_engineering/gk6/config.h +1 -1
@@ 46,7 46,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 32
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#define RGB_MATRIX_KEYPRESSES
#define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/gizmo_engineering/gk6/gk6.c => keyboards/gizmo_engineering/gk6/gk6.c +1 -1
@@ 17,7 17,7 @@
#include "gk6.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, C1_8, C2_8, C3_8},     //0 led1
    {0, C1_7, C2_7, C3_7},     //1 led2
    {0, C1_6, C2_6, C3_6},     //2 led3

M keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h => keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h +2 -2
@@ 25,7 25,7 @@
  #undef RGBLED_NUM
#endif

#define DRIVER_LED_TOTAL 73
#define RGB_MATRIX_LED_COUNT 73

#ifdef RGB_MATRIX_ENABLE
  #define RGB_MATRIX_KEYPRESSES // reacts to keypresses


@@ 34,7 34,7 @@
//  #define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
//  #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
  #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
  #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
  #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
  #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
  #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
//  #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set

M keyboards/gmmk/gmmk2/p65/ansi/ansi.c => keyboards/gmmk/gmmk2/p65/ansi/ansi.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |     R location

M keyboards/gmmk/gmmk2/p65/config.h => keyboards/gmmk/gmmk2/p65/config.h +1 -1
@@ 57,7 57,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 54
#define DRIVER_2_LED_TOTAL 34
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/gmmk/gmmk2/p65/iso/iso.c => keyboards/gmmk/gmmk2/p65/iso/iso.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |     R location

M keyboards/gmmk/gmmk2/p96/ansi/ansi.c => keyboards/gmmk/gmmk2/p96/ansi/ansi.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |     R location

M keyboards/gmmk/gmmk2/p96/config.h => keyboards/gmmk/gmmk2/p96/config.h +1 -1
@@ 61,7 61,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 54
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/gmmk/gmmk2/p96/iso/iso.c => keyboards/gmmk/gmmk2/p96/iso/iso.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |     R location

M keyboards/gmmk/pro/rev1/ansi/ansi.c => keyboards/gmmk/pro/rev1/ansi/ansi.c +1 -1
@@ 136,7 136,7 @@ led_config_t g_led_config = {{
    4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS1_SW1, CS2_SW1, CS3_SW1},        //  0, ESC, k13
    {0, CS4_SW1, CS5_SW1, CS6_SW1},        //  1, ~, k16
    {0, CS7_SW1, CS8_SW1, CS9_SW1},        //  2, Tab, k11

M keyboards/gmmk/pro/rev1/ansi/config.h => keyboards/gmmk/pro/rev1/ansi/config.h +1 -1
@@ 20,4 20,4 @@

#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c => keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c +1 -1
@@ 79,7 79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//
//    
//
//    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
//    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
//        HSV hsv = {
//            .h = (*l)[i][0],
//            .s = (*l)[i][1],

M keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c => keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c +1 -1
@@ 65,7 65,7 @@ void rgb_matrix_indicators_user(void) {
    }

    if (host_keyboard_led_state().caps_lock) {
        for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
        for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
            if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
                rgb_matrix_set_color(i, _CAPS_COLOR_RGB);
            }

M keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c => keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c +1 -1
@@ 136,7 136,7 @@ led_config_t PROGMEM g_led_config = {{
    4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS1_SW1, CS2_SW1, CS3_SW1},        //  0, ESC, k13
    {0, CS4_SW1, CS5_SW1, CS6_SW1},        //  1, ~, k16
    {0, CS7_SW1, CS8_SW1, CS9_SW1},        //  2, Tab, k11

M keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c => keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c +1 -1
@@ 17,7 17,7 @@
#include "rgb_matrix.h"

void rgb_matrix_set_color_flags(uint8_t red, uint8_t green, uint8_t blue, uint8_t flags) {
    for (uint8_t ii = 0; ii < DRIVER_LED_TOTAL; ii++) {
    for (uint8_t ii = 0; ii < RGB_MATRIX_LED_COUNT; ii++) {
        if (g_led_config.flags[ii] & flags) {
            rgb_matrix_set_color(ii, red, green, blue);
        }

M keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c => keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c +1 -1
@@ 44,7 44,7 @@ void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) {

    uint8_t val = rgb_matrix_get_val();

    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = (*l)[i][0],
            .s = (*l)[i][1],

M keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h => keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h +1 -1
@@ 48,7 48,7 @@
        ka4, k73 \
    }
// clang-format on
typedef uint8_t ledmap[DRIVER_LED_TOTAL][3];
typedef uint8_t ledmap[RGB_MATRIX_LED_COUNT][3];
extern const ledmap ledmaps[];

void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer);

M keyboards/gmmk/pro/rev1/iso/config.h => keyboards/gmmk/pro/rev1/iso/config.h +1 -1
@@ 20,4 20,4 @@

#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/gmmk/pro/rev1/iso/iso.c => keyboards/gmmk/pro/rev1/iso/iso.c +1 -1
@@ 137,7 137,7 @@ led_config_t g_led_config = {{
    2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS1_SW1, CS2_SW1, CS3_SW1},        //  0, ESC, k13
    {0, CS4_SW1, CS5_SW1, CS6_SW1},        //  1, ~, k16
    {0, CS7_SW1, CS8_SW1, CS9_SW1},        //  2, Tab, k11

M keyboards/gmmk/pro/rev2/ansi/ansi.c => keyboards/gmmk/pro/rev2/ansi/ansi.c +1 -1
@@ 136,7 136,7 @@ led_config_t g_led_config = {{
    4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS1_SW1, CS2_SW1, CS3_SW1},        //  0, ESC, k13
    {0, CS4_SW1, CS5_SW1, CS6_SW1},        //  1, ~, k16
    {0, CS7_SW1, CS8_SW1, CS9_SW1},        //  2, Tab, k11

M keyboards/gmmk/pro/rev2/ansi/config.h => keyboards/gmmk/pro/rev2/ansi/config.h +1 -1
@@ 20,4 20,4 @@

#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/gmmk/pro/rev2/iso/config.h => keyboards/gmmk/pro/rev2/iso/config.h +1 -1
@@ 20,4 20,4 @@

#define DRIVER_1_LED_TOTAL 66
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/gmmk/pro/rev2/iso/iso.c => keyboards/gmmk/pro/rev2/iso/iso.c +1 -1
@@ 137,7 137,7 @@ led_config_t g_led_config = {{
    2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
}};

const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS1_SW1, CS2_SW1, CS3_SW1},        //  0, ESC, k13
    {0, CS4_SW1, CS5_SW1, CS6_SW1},        //  1, ~, k16
    {0, CS7_SW1, CS8_SW1, CS9_SW1},        //  2, Tab, k11

M keyboards/gopolar/gg86/config.h => keyboards/gopolar/gg86/config.h +1 -1
@@ 41,7 41,7 @@
#ifdef RGB_MATRIX_ENABLE
    /* RGB Matrix config */
    #define RGB_DI_PIN E2
    #define DRIVER_LED_TOTAL 100
    #define RGB_MATRIX_LED_COUNT 100
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c => keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c +1 -1
@@ 70,5 70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}
\ No newline at end of file

M keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h => keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h +1 -1
@@ 41,5 41,5 @@ bool effect_rainbow_reactive(effect_params_t* params, rainbow_reactive_f effect_
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}
\ No newline at end of file

M keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c => keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c +3 -3
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

static uint8_t offset[DRIVER_LED_TOTAL];
static uint8_t offset[RGB_MATRIX_LED_COUNT];

static void doRandom_breath_rainbow(int i, effect_params_t* params) {
    if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return;


@@ 41,7 41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
    
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params);
        doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params);
        return false;
    }
	


@@ 51,5 51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
        doRandom_breath_rainbow(i, params);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}
\ No newline at end of file

M keyboards/hadron/ver3/config.h => keyboards/hadron/ver3/config.h +1 -1
@@ 166,7 166,7 @@

#define RGBLED_NUM 10
#define RGB_DI_PIN B5
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

// #define RGB_MATRIX_KEYPRESSES


M keyboards/handwired/6macro/config.h => keyboards/handwired/6macro/config.h +1 -1
@@ 32,7 32,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define RGB_DI_PIN D2
#define RGBLED_NUM 10
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17

M keyboards/handwired/co60/rev7/config.h => keyboards/handwired/co60/rev7/config.h +1 -1
@@ 53,6 53,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define RGBLED_NUM 16
#define RGB_DI_PIN A7
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define RGB_MATRIX_KEYPRESSES

M keyboards/handwired/colorlice/config.h => keyboards/handwired/colorlice/config.h +1 -1
@@ 46,7 46,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/handwired/dactyl_manuform/3x5_3/config.h => keyboards/handwired/dactyl_manuform/3x5_3/config.h +1 -1
@@ 31,7 31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define DRIVER_LED_TOTAL 36
#define RGB_MATRIX_LED_COUNT 36
#define RGB_MATRIX_SPLIT { 18, 18 }
#define RGB_MATRIX_CENTER { 133, 54 }


M keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h => keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h +1 -1
@@ 45,7 45,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#ifdef RGB_MATRIX_ENABLE
// #  define RGB_DISABLE_TIMEOUT 300000 // number of milliseconds to wait until disabling effects
// #  define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#  define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#  define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#  define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#  define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. 
#  define RGB_MATRIX_HUE_STEP 8

M keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h => keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h +2 -2
@@ 28,7 28,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#undef SOFT_SERIAL_PIN
#define SOFT_SERIAL_PIN D0
// #define DRIVER_LED_TOTAL 32
// #define RGB_MATRIX_LED_COUNT 32

#define RGB_MATRIX_KEYPRESSES



@@ 36,7 36,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80
#undef RGBLED_NUM
#define RGBLED_NUM       64 // Number of LEDs
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_SPLIT \
        { 32, 32  }
#define SPLIT_TRANSPORT_MIRROR

M keyboards/handwired/dygma/raise/ansi/ansi.c => keyboards/handwired/dygma/raise/ansi/ansi.c +1 -1
@@ 23,7 23,7 @@
#define LHK 33
#define LPH 72

const uint8_t led_map[DRIVER_LED_TOTAL] = {
const uint8_t led_map[RGB_MATRIX_LED_COUNT] = {
  // left side - 32 keys includes LP: key 19 is missing for ANSI layout
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 0xff, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 68, 69,


M keyboards/handwired/dygma/raise/config.h => keyboards/handwired/dygma/raise/config.h +1 -1
@@ 24,4 24,4 @@
/* The scanners already debounce for us */
#define DEBOUNCE 0

#define DRIVER_LED_TOTAL 132
#define RGB_MATRIX_LED_COUNT 132

M keyboards/handwired/dygma/raise/iso/iso.c => keyboards/handwired/dygma/raise/iso/iso.c +1 -1
@@ 23,7 23,7 @@
#define LHK 33
#define LPH 72

const uint8_t led_map[DRIVER_LED_TOTAL] = {
const uint8_t led_map[RGB_MATRIX_LED_COUNT] = {
  // left side - 33 keys
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 68, 69,


M keyboards/handwired/dygma/raise/leds.c => keyboards/handwired/dygma/raise/leds.c +1 -1
@@ 71,7 71,7 @@ static void set_color(int index, uint8_t r, uint8_t g, uint8_t b) {
}

static void set_color_all(uint8_t r, uint8_t g, uint8_t b) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) set_color(i, r, g, b);
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) set_color(i, r, g, b);
}

static void init(void) {}

M keyboards/handwired/dygma/raise/leds.h => keyboards/handwired/dygma/raise/leds.h +1 -1
@@ 19,7 19,7 @@
#include "quantum.h"
#include "rgb_matrix.h"

extern const uint8_t led_map[DRIVER_LED_TOTAL];
extern const uint8_t led_map[RGB_MATRIX_LED_COUNT];

void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b);
void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b);

M keyboards/handwired/hnah108/config.h => keyboards/handwired/hnah108/config.h +1 -1
@@ 47,7 47,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_LEVELS 4

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 31
#define RGB_MATRIX_LED_COUNT 31
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/handwired/hnah40rgb/config.h => keyboards/handwired/hnah40rgb/config.h +1 -1
@@ 48,7 48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 50
#define RGB_MATRIX_LED_COUNT 50
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/handwired/p65rgb/config.h => keyboards/handwired/p65rgb/config.h +1 -1
@@ 37,7 37,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DRIVER_LED_TOTAL 83
#define RGB_MATRIX_LED_COUNT 83
#define RGBLIGHT_LIMIT_VAL 180
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/handwired/steamvan/rev1/config.h => keyboards/handwired/steamvan/rev1/config.h +1 -1
@@ 52,6 52,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define RGBLED_NUM 16
#define RGB_DI_PIN A7
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define RGB_MATRIX_KEYPRESSES

M keyboards/handwired/tractyl_manuform/4x6_right/config.h => keyboards/handwired/tractyl_manuform/4x6_right/config.h +1 -1
@@ 33,7 33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN       E7
#define DRIVER_LED_TOTAL 62
#define RGB_MATRIX_LED_COUNT 62
#define RGB_MATRIX_SPLIT { 32, 30 }
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES

M keyboards/helix/rev3_4rows/config.h => keyboards/helix/rev3_4rows/config.h +2 -2
@@ 56,13 56,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_NUM 50 // Number of LEDs

#ifdef RGB_MATRIX_ENABLE
  #define DRIVER_LED_TOTAL RGBLED_NUM
  #define RGB_MATRIX_LED_COUNT RGBLED_NUM
#   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/helix/rev3_5rows/config.h => keyboards/helix/rev3_5rows/config.h +2 -2
@@ 56,13 56,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_NUM 64 // Number of LEDs

#ifdef RGB_MATRIX_ENABLE
  #define DRIVER_LED_TOTAL RGBLED_NUM
  #define RGB_MATRIX_LED_COUNT RGBLED_NUM
#   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/horrortroll/chinese_pcb/devil68_pro/config.h => keyboards/horrortroll/chinese_pcb/devil68_pro/config.h +1 -1
@@ 39,7 39,7 @@
#define FORCE_NKRO

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 86
    #define RGB_MATRIX_LED_COUNT 86
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/horrortroll/handwired_k552/config.h => keyboards/horrortroll/handwired_k552/config.h +1 -1
@@ 62,7 62,7 @@
#endif

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 24
    #define RGB_MATRIX_LED_COUNT 24
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS


M keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c => keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c +1 -1
@@ 70,5 70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c => keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c +3 -3
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

static uint8_t offset[DRIVER_LED_TOTAL];
static uint8_t offset[RGB_MATRIX_LED_COUNT];

static void doRandom_breath_rainbow(int i, effect_params_t* params) {
    if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return;


@@ 41,7 41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
    
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params);
        doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params);
        return false;
    }
	


@@ 51,5 51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
        doRandom_breath_rainbow(i, params);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c => keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c +1 -1
@@ 70,5 70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c => keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c +3 -3
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

static uint8_t offset[DRIVER_LED_TOTAL];
static uint8_t offset[RGB_MATRIX_LED_COUNT];

static void doRandom_breath_rainbow(int i, effect_params_t* params) {
    if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return;


@@ 41,7 41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
    
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params);
        doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params);
        return false;
    }
	


@@ 51,5 51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
        doRandom_breath_rainbow(i, params);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/hs60/v1/config.h => keyboards/hs60/v1/config.h +1 -1
@@ 125,7 125,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DRIVER_2_LED_TOTAL 32
#endif

#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/hs60/v1/v1.c => keyboards/hs60/v1/v1.c +2 -2
@@ 91,7 91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length )

#ifdef HS60_ANSI

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 199,7 199,7 @@ led_config_t g_led_config = { {

#else

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/hs60/v2/ansi/config.h => keyboards/hs60/v2/ansi/config.h +1 -1
@@ 114,7 114,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/hs60/v2/hhkb/config.h => keyboards/hs60/v2/hhkb/config.h +1 -1
@@ 114,7 114,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/hs60/v2/iso/config.h => keyboards/hs60/v2/iso/config.h +1 -1
@@ 112,7 112,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/hub20/config.h => keyboards/hub20/config.h +1 -1
@@ 36,7 36,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B15
#define RGBLED_NUM 27

#define DRIVER_LED_TOTAL 27
#define RGB_MATRIX_LED_COUNT 27
#ifdef RGB_DI_PIN
    #define RGBLED_NUM 27
#endif

M keyboards/idobao/id42/config.h => keyboards/idobao/id42/config.h +1 -1
@@ 19,7 19,7 @@
#ifdef RGB_MATRIX_ENABLE

    #define RGB_DI_PIN B3
    #define DRIVER_LED_TOTAL 42
    #define RGB_MATRIX_LED_COUNT 42

    #define RGB_DISABLE_WHEN_USB_SUSPENDED     // turn off effects when suspended
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180  // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255

M keyboards/idobao/id42/id42.c => keyboards/idobao/id42/id42.c +1 -1
@@ 20,7 20,7 @@
 */
led_config_t g_led_config = { {
    // Key Matrix to LED Index
    // WS2812 LED strings are addressed from 0 (1st) to DRIVER_LED_TOTAL-1 (last)
    // WS2812 LED strings are addressed from 0 (1st) to RGB_MATRIX_LED_COUNT-1 (last)
    { 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30 },
    { 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, __, 19 },
    { 18, 17, 16, 15, 14, 13, 12, 11, 10, __, 9,  8  },

M keyboards/idobao/id63/config.h => keyboards/idobao/id63/config.h +2 -2
@@ 22,9 22,9 @@
     *
     * */
    #ifndef ID63_DISABLE_UNDERGLOW
        #define DRIVER_LED_TOTAL 75
        #define RGB_MATRIX_LED_COUNT 75
    #else
        #define DRIVER_LED_TOTAL (75 - 12)
        #define RGB_MATRIX_LED_COUNT (75 - 12)
    #endif

    #define RGB_DISABLE_WHEN_USB_SUSPENDED     // turn off effects when suspended

M keyboards/idobao/id67/config.h => keyboards/idobao/id67/config.h +2 -2
@@ 12,9 12,9 @@
// RGB Matrix config
#if defined(RGB_MATRIX_ENABLE)
    #ifndef ID67_DISABLE_UNDERGLOW
        #define DRIVER_LED_TOTAL 77
        #define RGB_MATRIX_LED_COUNT 77
    #else
        #define DRIVER_LED_TOTAL (77 - 10)
        #define RGB_MATRIX_LED_COUNT (77 - 10)
    #endif

    #define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended

M keyboards/idobao/id67/keymaps/thewerther/keymap.c => keyboards/idobao/id67/keymaps/thewerther/keymap.c +1 -1
@@ 34,7 34,7 @@ void matrix_scan_user(void) {
    if (current_effect >= RGB_MATRIX_SOLID_REACTIVE_SIMPLE && current_effect <= RGB_MATRIX_SOLID_MULTISPLASH) {
        // set all underglow leds to current color
        RGB current_color = hsv_to_rgb(rgb_matrix_get_hsv());
        for (int i = DRIVER_LED_TOTAL - DRIVER_LED_UNDERGLOW; i < DRIVER_LED_TOTAL; i++) {
        for (int i = RGB_MATRIX_LED_COUNT - DRIVER_LED_UNDERGLOW; i < RGB_MATRIX_LED_COUNT; i++) {
            rgb_matrix_set_color(i, current_color.r, current_color.g, current_color.b);
        }
    }

M keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c => keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c +2 -2
@@ 129,7 129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#define LED_FLAG_ALPHA_KEY 0x10  // Alpha keys (for Caps Lock)
#define LED_FLAG_LAYER_IND 0x20  // Layer indicator

const uint8_t g_led_config_new_flags[DRIVER_LED_TOTAL] = {
const uint8_t g_led_config_new_flags[RGB_MATRIX_LED_COUNT] = {
    // Extended LED Index to Flag
    // ** Remember: on ID67 this is in reverse order
    0x21, 0x01, 0x01, 0x01, 0x01,                   0x04,             0x01,       0x01, 0x21,  // Spc row


@@ 147,7 147,7 @@ static uint16_t recording_timer;

void keyboard_pre_init_user(void) {
    // override `config.h` flags with new values
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) g_led_config.flags[i] = g_led_config_new_flags[i];
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) g_led_config.flags[i] = g_led_config_new_flags[i];
}

void keyboard_post_init_user(void) {

M keyboards/idobao/id75/v2/config.h => keyboards/idobao/id75/v2/config.h +1 -1
@@ 41,7 41,7 @@
#undef RGB_DI_PIN
#define RGB_DI_PIN F0
#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL 85 /* 10 Bottom 75 top*/
#    define RGB_MATRIX_LED_COUNT 85 /* 10 Bottom 75 top*/
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/idobao/id80/v3/ansi/config.h => keyboards/idobao/id80/v3/ansi/config.h +1 -1
@@ 22,7 22,7 @@
// RGB Matrix config
#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)

    #define DRIVER_LED_TOTAL 94
    #define RGB_MATRIX_LED_COUNT 94

    #define RGB_DISABLE_WHEN_USB_SUSPENDED     // turn off effects when suspended
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180  // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255

M keyboards/idobao/id87/v2/config.h => keyboards/idobao/id87/v2/config.h +1 -1
@@ 14,7 14,7 @@
// RGB Matrix config
#if defined(RGB_MATRIX_ENABLE)

    #define DRIVER_LED_TOTAL 103
    #define RGB_MATRIX_LED_COUNT 103

    #define RGB_DISABLE_WHEN_USB_SUSPENDED     // turn off effects when suspended
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180  // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255

M keyboards/idobao/montex/v1rgb/config.h => keyboards/idobao/montex/v1rgb/config.h +1 -1
@@ 28,7 28,7 @@
#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)

    // The number of LEDs connected
    #define DRIVER_LED_TOTAL 31
    #define RGB_MATRIX_LED_COUNT 31

    #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value

M keyboards/idobao/montex/v2/config.h => keyboards/idobao/montex/v2/config.h +2 -2
@@ 10,9 10,9 @@

#if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE)
    #ifndef ID27_DISABLE_UNDERGLOW
        #define DRIVER_LED_TOTAL 31  // The number of LEDs connected
        #define RGB_MATRIX_LED_COUNT 31  // The number of LEDs connected
    #else
        #define DRIVER_LED_TOTAL 27  // -4 disabled underglow LEDs
        #define RGB_MATRIX_LED_COUNT 27  // -4 disabled underglow LEDs
    #endif

    // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS  // don't use, too few key to make it look good

M keyboards/ilumkb/simpler61/config.h => keyboards/ilumkb/simpler61/config.h +1 -1
@@ 40,7 40,7 @@
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 61
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define DRIVER_INDICATOR_LED_TOTAL 0

// For full list of effects, see:

M keyboards/ilumkb/simpler61/simpler61.c => keyboards/ilumkb/simpler61/simpler61.c +1 -1
@@ 17,7 17,7 @@
#include "simpler61.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0,  CS3_SW1,  CS2_SW1,  CS1_SW1},
    {0,  CS3_SW2,  CS2_SW2,  CS1_SW2},
    {0,  CS3_SW3,  CS2_SW3,  CS1_SW3},

M keyboards/ilumkb/simpler64/config.h => keyboards/ilumkb/simpler64/config.h +1 -1
@@ 40,7 40,7 @@
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 64
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define DRIVER_INDICATOR_LED_TOTAL 0



M keyboards/ilumkb/simpler64/simpler64.c => keyboards/ilumkb/simpler64/simpler64.c +1 -1
@@ 17,7 17,7 @@
#include "simpler64.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0,  CS3_SW1,  CS2_SW1,  CS1_SW1},
    {0,  CS3_SW2,  CS2_SW2,  CS1_SW2},
    {0,  CS3_SW3,  CS2_SW3,  CS1_SW3},

M keyboards/inett_studio/sqx/hotswap/config.h => keyboards/inett_studio/sqx/hotswap/config.h +1 -1
@@ 57,7 57,7 @@
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
    #define RGB_MATRIX_DISABLE_KEYCODES

M keyboards/inett_studio/sqx/hotswap/hotswap.c => keyboards/inett_studio/sqx/hotswap/hotswap.c +1 -1
@@ 20,7 20,7 @@
#include "hotswap.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/inett_studio/sqx/universal/config.h => keyboards/inett_studio/sqx/universal/config.h +1 -1
@@ 57,7 57,7 @@
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
#    define RGB_MATRIX_DISABLE_KEYCODES

M keyboards/inett_studio/sqx/universal/universal.c => keyboards/inett_studio/sqx/universal/universal.c +1 -1
@@ 20,7 20,7 @@
#include "universal.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/input_club/ergodox_infinity/config.h => keyboards/input_club/ergodox_infinity/config.h +1 -1
@@ 67,7 67,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* LED matrix driver */
#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 76
#define LED_MATRIX_LED_COUNT 76
#define LED_MATRIX_SPLIT { 38, 38 }
#define LED_DISABLE_WHEN_USB_SUSPENDED


M keyboards/input_club/ergodox_infinity/ergodox_infinity.c => keyboards/input_club/ergodox_infinity/ergodox_infinity.c +1 -1
@@ 174,7 174,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
#endif

#ifdef LED_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
// The numbers in the comments are the led numbers DXX on the PCB
/* Refer to IS31 manual for these locations
 *  driver

M keyboards/input_club/k_type/config.h => keyboards/input_club/k_type/config.h +1 -1
@@ 170,5 170,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 64
#    define DRIVER_2_LED_TOTAL 55
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/input_club/k_type/is31fl3733-dual.c => keyboards/input_club/k_type/is31fl3733-dual.c +2 -2
@@ 160,7 160,7 @@ void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
}

void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
    if (index >= 0 && index < DRIVER_LED_TOTAL) {
    if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
        is31_led led = g_is31_leds[index];

        g_pwm_buffer[led.driver][led.r]          = red;


@@ 171,7 171,7 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
}

void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3733_set_color(i, red, green, blue);
    }
}

M keyboards/input_club/k_type/is31fl3733-dual.h => keyboards/input_club/k_type/is31fl3733-dual.h +1 -1
@@ 29,7 29,7 @@ typedef struct is31_led {
    uint8_t b;
} __attribute__((packed)) is31_led;

extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL];
extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];

void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync);
bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);

M keyboards/input_club/k_type/k_type-rgbdriver.c => keyboards/input_club/k_type/k_type-rgbdriver.c +1 -1
@@ 29,7 29,7 @@ static void init(void) {
    i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN);
    IS31FL3733_init(1, DRIVER_ADDR_2, 0);
#    endif
    for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
    for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
        bool enabled = true;
        // This only caches it for later
        IS31FL3733_set_led_control_register(index, enabled, enabled, enabled);

M keyboards/input_club/k_type/k_type.c => keyboards/input_club/k_type/k_type.c +1 -1
@@ 23,7 23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "is31fl3733-dual.h"


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_1,  A_1,  C_1  },
    { 0, B_2,  A_2,  C_2  },
    { 0, B_3,  A_3,  C_3  },

M keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h => keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h +1 -1
@@ 48,5 48,5 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 64
#    define DRIVER_2_LED_TOTAL 55
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/input_club/whitefox/config.h => keyboards/input_club/whitefox/config.h +1 -1
@@ 57,7 57,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* LED matrix driver */
#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 71
#define LED_MATRIX_LED_COUNT 71
#define LED_DISABLE_WHEN_USB_SUSPENDED

/* i2c (for LED matrix) */

M keyboards/input_club/whitefox/whitefox.c => keyboards/input_club/whitefox/whitefox.c +1 -1
@@ 18,7 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "whitefox.h"

#ifdef LED_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
// The numbers in the comments are the led numbers DXX on the PCB
/* Refer to IS31 manual for these locations
 *  driver

M keyboards/jacky_studio/bear_65/config.h => keyboards/jacky_studio/bear_65/config.h +1 -1
@@ 74,5 74,5 @@
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DRIVER_LED_TOTAL 12 // Number of LEDs
#define RGB_MATRIX_LED_COUNT 12 // Number of LEDs
#endif

M keyboards/jadookb/jkb65/config.h => keyboards/jadookb/jkb65/config.h +1 -1
@@ 25,7 25,7 @@

#define RGB_DI_PIN F0

#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67

#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/jkeys_design/gentleman65/config.h => keyboards/jkeys_design/gentleman65/config.h +1 -1
@@ 48,4 48,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B { F5 }
#define ENCODER_RESOLUTION 4

#define DRIVER_LED_TOTAL 14
#define RGB_MATRIX_LED_COUNT 14

M keyboards/jkeys_design/gentleman65_se_s/config.h => keyboards/jkeys_design/gentleman65_se_s/config.h +1 -1
@@ 49,4 49,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B { B1 }
#define ENCODER_RESOLUTION 4

#define DRIVER_LED_TOTAL 14
#define RGB_MATRIX_LED_COUNT 14

M keyboards/kapl/rev1/config.h => keyboards/kapl/rev1/config.h +1 -1
@@ 31,7 31,7 @@
#define RGBLIGHT_SPLIT
#define RGBLIGHT_LIMIT_VAL 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.

#define DRIVER_LED_TOTAL 88
#define RGB_MATRIX_LED_COUNT 88
#define RGB_MATRIX_SPLIT { 44, 44 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define SPLIT_TRANSPORT_MIRROR

M keyboards/kbdfans/baguette66/rgb/config.h => keyboards/kbdfans/baguette66/rgb/config.h +1 -1
@@ 34,7 34,7 @@

#define RGB_DI_PIN E6
#define RGBLED_NUM 66
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL

M keyboards/kbdfans/bella/rgb/config.h => keyboards/kbdfans/bella/rgb/config.h +1 -1
@@ 86,7 86,7 @@
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 108
#define RGB_MATRIX_LED_COUNT 108
#define DRIVER_INDICATOR_LED_TOTAL 0
#endif
#define DYNAMIC_KEYMAP_LAYER_COUNT 2

M keyboards/kbdfans/bella/rgb/rgb.c => keyboards/kbdfans/bella/rgb/rgb.c +1 -1
@@ 15,7 15,7 @@
 */
#include "rgb.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS18_SW1, CS17_SW1, CS16_SW1},    /* RGB6 */
    {0, CS18_SW3, CS17_SW3, CS16_SW3},    /* RGB32 */
    {0, CS18_SW4, CS17_SW4, CS16_SW4},    /* RGB45 */

M keyboards/kbdfans/bella/rgb_iso/config.h => keyboards/kbdfans/bella/rgb_iso/config.h +1 -1
@@ 86,7 86,7 @@
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 109
#define RGB_MATRIX_LED_COUNT 109
#define DRIVER_INDICATOR_LED_TOTAL 0
#endif
#define DYNAMIC_KEYMAP_LAYER_COUNT 2

M keyboards/kbdfans/bella/rgb_iso/rgb_iso.c => keyboards/kbdfans/bella/rgb_iso/rgb_iso.c +1 -1
@@ 15,7 15,7 @@
 */
#include "rgb_iso.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS18_SW1, CS17_SW1, CS16_SW1},    /* RGB6 */
    {0, CS18_SW3, CS17_SW3, CS16_SW3},    /* RGB32 */
    {0, CS18_SW4, CS17_SW4, CS16_SW4},    /* RGB45 */

M keyboards/kbdfans/boop65/rgb/config.h => keyboards/kbdfans/boop65/rgb/config.h +1 -1
@@ 43,7 43,7 @@
#    define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b0110000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 83
#    define RGB_MATRIX_LED_COUNT 83
#    define DRIVER_INDICATOR_LED_TOTAL 0
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN

M keyboards/kbdfans/boop65/rgb/rgb.c => keyboards/kbdfans/boop65/rgb/rgb.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS21_SW1, CS20_SW1, CS19_SW1},
    {0, CS21_SW2, CS20_SW2, CS19_SW2},
    {0, CS21_SW3, CS20_SW3, CS19_SW3}, 

M keyboards/kbdfans/kbd67/mkiirgb/v1/config.h => keyboards/kbdfans/kbd67/mkiirgb/v1/config.h +1 -1
@@ 69,4 69,4 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c => keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c +1 -1
@@ 16,7 16,7 @@

#include "v1.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

    {0, C8_8, C7_8, C6_8},     // LA17
    {0, C9_8, C7_7, C6_7},     // LA16

M keyboards/kbdfans/kbd67/mkiirgb/v2/config.h => keyboards/kbdfans/kbd67/mkiirgb/v2/config.h +1 -1
@@ 68,5 68,5 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 32
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c => keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c +1 -1
@@ 16,7 16,7 @@

#include "v2.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

    {0, C8_8,  C7_8, C6_8},   // LA17
    {0, C9_8,  C7_7, C6_7},   // LA16

M keyboards/kbdfans/kbd67/mkiirgb/v3/config.h => keyboards/kbdfans/kbd67/mkiirgb/v3/config.h +1 -1
@@ 89,6 89,6 @@
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67
#define DRIVER_INDICATOR_LED_TOTAL 0
#endif

M keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c => keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS21_SW1, CS20_SW1, CS19_SW1},
    {0, CS21_SW2, CS20_SW2, CS19_SW2},
    {0, CS21_SW3, CS20_SW3, CS19_SW3},

M keyboards/kbdfans/kbd67/mkiirgb/v4/config.h => keyboards/kbdfans/kbd67/mkiirgb/v4/config.h +1 -1
@@ 33,7 33,7 @@

#define RGB_DI_PIN C7
#define RGBLED_NUM 68
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL

M keyboards/kbdfans/kbd67/mkiirgb_iso/config.h => keyboards/kbdfans/kbd67/mkiirgb_iso/config.h +1 -1
@@ 32,7 32,7 @@
#define USB_SUSPEND_WAKEUP_DELAY 5000

#define RGB_DI_PIN C7
#define DRIVER_LED_TOTAL 68
#define RGB_MATRIX_LED_COUNT 68

#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_KEYPRESSES           // reacts to keypresses

M keyboards/kbdfans/kbd75rgb/config.h => keyboards/kbdfans/kbd75rgb/config.h +1 -1
@@ 34,7 34,7 @@

#define RGB_DI_PIN C7
#define RGBLED_NUM 84
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL

M keyboards/kbdfans/kbdmini/config.h => keyboards/kbdfans/kbdmini/config.h +1 -1
@@ 81,5 81,5 @@

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 52
#define RGB_MATRIX_LED_COUNT 52
#endif

M keyboards/kbdfans/kbdmini/kbdmini.c => keyboards/kbdfans/kbdmini/kbdmini.c +1 -1
@@ 1,6 1,6 @@
#include "kbdmini.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_9,  A_9,  C_9  }, //LA33
    { 0, B_10, A_10, C_10 }, //LA37
    { 0, B_11, A_11, C_11 }, //LA41

M keyboards/kbdfans/maja/config.h => keyboards/kbdfans/maja/config.h +1 -1
@@ 69,4 69,4 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 31
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/kbdfans/maja/maja.c => keyboards/kbdfans/maja/maja.c +1 -1
@@ 1,6 1,6 @@
#include "maja.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
	{0, C2_1,  C3_1,  C4_1},  // LA0
    {0, C1_1,  C3_2, C4_2},   // LA1
    {0, C1_2,  C2_2, C4_3},   // LA2

M keyboards/kbdfans/odin/rgb/config.h => keyboards/kbdfans/odin/rgb/config.h +1 -1
@@ 25,7 25,7 @@

#define DEBOUNCE 5
#define RGBLED_NUM 110
#define DRIVER_LED_TOTAL 110
#define RGB_MATRIX_LED_COUNT 110
#define RGB_DI_PIN B15

#ifdef RGB_MATRIX_ENABLE

M keyboards/keebio/bamfk4/config.h => keyboards/keebio/bamfk4/config.h +1 -1
@@ 81,7 81,7 @@
#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
#        define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
#        define RGB_MATRIX_KEYPRESSES
//#    endif

M keyboards/keebio/bdn9/rev2/config.h => keyboards/keebio/bdn9/rev2/config.h +1 -1
@@ 47,7 47,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGBLIGHT_ANIMATIONS
// RGB Matrix
#    ifdef RGB_MATRIX_ENABLE
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#        define RGB_MATRIX_KEYPRESSES
// RGB Matrix Animation modes. Explicitly enabled

M keyboards/keebio/iris/rev6/config.h => keyboards/keebio/iris/rev6/config.h +1 -1
@@ 113,7 113,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
#        define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_MATRIX_SPLIT { 34, 34 }
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
#        define RGB_MATRIX_KEYPRESSES

M keyboards/keebio/iris/rev6a/config.h => keyboards/keebio/iris/rev6a/config.h +1 -1
@@ 113,7 113,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#        define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_MATRIX_SPLIT { 34, 34 }
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
#        define RGB_MATRIX_KEYPRESSES

M keyboards/keebio/iris/rev6b/config.h => keyboards/keebio/iris/rev6b/config.h +1 -1
@@ 113,7 113,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#        define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_MATRIX_SPLIT { 34, 34 }
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
#        define RGB_MATRIX_KEYPRESSES

M keyboards/keebio/iris/rev7/config.h => keyboards/keebio/iris/rev7/config.h +1 -1
@@ 113,7 113,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#        define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#        define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_MATRIX_SPLIT { 34, 34 }
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
#        define RGB_MATRIX_KEYPRESSES

M keyboards/keebio/stick/config.h => keyboards/keebio/stick/config.h +1 -1
@@ 44,7 44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGBLIGHT_ANIMATIONS
// RGB Matrix
#    ifdef RGB_MATRIX_ENABLE
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/keebwerk/mega/ansi/config.h => keyboards/keebwerk/mega/ansi/config.h +1 -1
@@ 112,7 112,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 128
#define RGB_MATRIX_LED_COUNT 128

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/keybee/keybee65/config.h => keyboards/keybee/keybee65/config.h +1 -1
@@ 47,7 47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN B0
// The number of LEDs connected
#define DRIVER_LED_TOTAL 80
#define RGB_MATRIX_LED_COUNT 80
// Limit the Brithness of the LEDs
#define RGBLIGHT_LIMIT_VAL 96
#define RGB_VAL_STEP 12

M keyboards/keyboardio/model01/config.h => keyboards/keyboardio/model01/config.h +1 -1
@@ 27,7 27,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DEBOUNCE 0

/* RGB matrix constants */
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/keyboardio/model01/leds.c => keyboards/keyboardio/model01/leds.c +1 -1
@@ 89,7 89,7 @@ static void set_color(int index, uint8_t r, uint8_t g, uint8_t b) {
}

static void set_color_all(uint8_t r, uint8_t g, uint8_t b) {
  for (int i=0; i<DRIVER_LED_TOTAL; i++)
  for (int i=0; i<RGB_MATRIX_LED_COUNT; i++)
    set_color(i, r, g, b);
}


M keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h => keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h +2 -2
@@ 33,7 33,7 @@
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN D3
// The number of LEDs connected
#define DRIVER_LED_TOTAL 60
#define RGB_MATRIX_LED_COUNT 60
#define RGBLED_NUM 60
#define RGB_MATRIX_SPLIT {30,30}
#define SPLIT_LAYER_STATE_ENABLE


@@ 45,7 45,7 @@
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 // limits maximum brightness of LEDs to 80 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/keychron/q1/rev_0100/config.h => keyboards/keychron/q1/rev_0100/config.h +1 -1
@@ 23,4 23,4 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 59
#define DRIVER_2_LED_TOTAL 23
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file

M keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c => keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c +1 -1
@@ 18,7 18,7 @@
#include "rgb_matrix_user.h"
#include "keymap_user.h"

keypos_t led_index_key_position[DRIVER_LED_TOTAL];
keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];

void rgb_matrix_init_user(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {

M keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c => keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c +1 -1
@@ 18,7 18,7 @@
#include "rgb_matrix_user.h"
#include "keymap_user.h"

keypos_t led_index_key_position[DRIVER_LED_TOTAL];
keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];

void rgb_matrix_init_user(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {

M keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c => keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c +1 -1
@@ 18,7 18,7 @@
#include "rgb_matrix_user.h"
#include "keymap_user.h"

keypos_t led_index_key_position[DRIVER_LED_TOTAL];
keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];

void rgb_matrix_init_user(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {

M keyboards/keychron/q1/rev_0100/rev_0100.c => keyboards/keychron/q1/rev_0100/rev_0100.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/keychron/q1/rev_0101/config.h => keyboards/keychron/q1/rev_0101/config.h +1 -1
@@ 23,7 23,7 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 59
#define DRIVER_2_LED_TOTAL 23
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Encoder used pins */
#define ENCODERS_PAD_A { E6 }

M keyboards/keychron/q1/rev_0101/rev_0101.c => keyboards/keychron/q1/rev_0101/rev_0101.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/keychron/q1/rev_0102/config.h => keyboards/keychron/q1/rev_0102/config.h +1 -1
@@ 23,4 23,4 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 59
#define DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file

M keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c => keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c +1 -1
@@ 18,7 18,7 @@
#include "rgb_matrix_user.h"
#include "keymap_user.h"

keypos_t led_index_key_position[DRIVER_LED_TOTAL];
keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];

void rgb_matrix_init_user(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {

M keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c => keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c +1 -1
@@ 18,7 18,7 @@
#include "rgb_matrix_user.h"
#include "keymap_user.h"

keypos_t led_index_key_position[DRIVER_LED_TOTAL];
keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];

void rgb_matrix_init_user(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {

M keyboards/keychron/q1/rev_0102/rev_0102.c => keyboards/keychron/q1/rev_0102/rev_0102.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/keychron/q2/rev_0110/config.h => keyboards/keychron/q2/rev_0110/config.h +1 -1
@@ 19,4 19,4 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c => keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c +1 -1
@@ 18,7 18,7 @@
#include "rgb_matrix_user.h"
#include "keymap_user.h"

keypos_t led_index_key_position[DRIVER_LED_TOTAL];
keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT];

void rgb_matrix_init_user(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {

M keyboards/keychron/q2/rev_0110/rev_0110.c => keyboards/keychron/q2/rev_0110/rev_0110.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to CKLED manual for these locations
 *   driver
 *   |  R location

M keyboards/keychron/q2/rev_0111/config.h => keyboards/keychron/q2/rev_0111/config.h +1 -1
@@ 19,7 19,7 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Encoder used pins */
#define ENCODERS_PAD_A { A10 }

M keyboards/keychron/q2/rev_0111/rev_0111.c => keyboards/keychron/q2/rev_0111/rev_0111.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to CKLED manual for these locations
 *   driver
 *   |  R location

M keyboards/keychron/q2/rev_0112/config.h => keyboards/keychron/q2/rev_0112/config.h +1 -1
@@ 19,4 19,4 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 34
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/keychron/q2/rev_0112/rev_0112.c => keyboards/keychron/q2/rev_0112/rev_0112.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/keychron/q2/rev_0113/config.h => keyboards/keychron/q2/rev_0113/config.h +1 -1
@@ 19,7 19,7 @@
/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 34
#define DRIVER_2_LED_TOTAL 34
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

/* Encoder used pins */
#define ENCODERS_PAD_A { A10 }

M keyboards/keychron/q2/rev_0113/rev_0113.c => keyboards/keychron/q2/rev_0113/rev_0113.c +1 -1
@@ 17,7 17,7 @@
#include "quantum.h"

#ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = {
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/kprepublic/bm40hsrgb/config.h => keyboards/kprepublic/bm40hsrgb/config.h +1 -1
@@ 38,7 38,7 @@
#define LOCKING_RESYNC_ENABLE

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 53
#define RGB_MATRIX_LED_COUNT 53
#ifdef RGB_DI_PIN
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#    define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value

M keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h => keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h +1 -1
@@ 54,7 54,7 @@

// If RGBLight is enabled
#ifdef RGBLIGHT_ENABLE
#    define RGBLED_NUM DRIVER_LED_TOTAL
#    define RGBLED_NUM RGB_MATRIX_LED_COUNT

#    define RGBLIGHT_EFFECT_SNAKE
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT

M keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c +2 -2
@@ 64,7 64,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = {
#define LAYER (get_highest_layer(layer_state))
#define LAYER_SIZE (MATRIX_ROWS * MATRIX_COLS)
#define CHECK_LED() \
    if ((i >= DRIVER_LED_TOTAL) \
    if ((i >= RGB_MATRIX_LED_COUNT) \
    || ((g_led_config.flags[pos] == LED_FLAG_NONE) || (g_led_config.flags[pos] == LED_FLAG_UNDERGLOW))) \
        continue



@@ 73,7 73,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = {
    #ifdef UNDERGLOW_DISABLE
    void keyboard_pre_init_user(void) {
        
        for (int key_id = 0; key_id < DRIVER_LED_TOTAL; key_id++ ) {
        for (int key_id = 0; key_id < RGB_MATRIX_LED_COUNT; key_id++ ) {
            if (g_led_config.flags[key_id] == LED_FLAG_UNDERGLOW) {
                g_led_config.flags[key_id] = LED_FLAG_NONE;
            }

M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c +8 -8
@@ 69,7 69,7 @@ void matrix_scan_user(void) {

void rgb_matrix_indicators_user(void) {

  for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
  for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
    if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color(i, 0, 0, 0);
    }


@@ 80,7 80,7 @@ void rgb_matrix_indicators_user(void) {

  //capslock
  if (host_keyboard_led_state().caps_lock) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 255, 255, 255);
      }


@@ 89,7 89,7 @@ void rgb_matrix_indicators_user(void) {

  //nav layer
  if (IS_LAYER_ON(NAVR)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 0, 204, 255);
      }


@@ 98,7 98,7 @@ void rgb_matrix_indicators_user(void) {

  //funl layer
  if (IS_LAYER_ON(FUNL)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 255, 0, 0);
      }


@@ 107,7 107,7 @@ void rgb_matrix_indicators_user(void) {

  //nsl layer
  if (IS_LAYER_ON(NSL)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 51, 0, 255);
      }


@@ 116,7 116,7 @@ void rgb_matrix_indicators_user(void) {

  //nssl layer
  if (IS_LAYER_ON(NSSL)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 0, 255, 0);
      }


@@ 125,7 125,7 @@ void rgb_matrix_indicators_user(void) {

  //game layer
  if (IS_LAYER_ON(GAME)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 0, 204, 255);
      }


@@ 134,7 134,7 @@ void rgb_matrix_indicators_user(void) {

  //secgame layer
  if (IS_LAYER_ON(SECGAME)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 255, 0, 0);
      }

M keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c => keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c +4 -4
@@ 69,7 69,7 @@ void matrix_scan_user(void) {

void rgb_matrix_indicators_user(void) {

  for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
  for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
    if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color(i, 0, 0, 0);
    }


@@ 80,7 80,7 @@ void rgb_matrix_indicators_user(void) {

  //capslock
  if (host_keyboard_led_state().caps_lock) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 255, 255, 255);
      }


@@ 89,7 89,7 @@ void rgb_matrix_indicators_user(void) {

  //game layer
  if (IS_LAYER_ON(GAME)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 0, 204, 255);
      }


@@ 98,7 98,7 @@ void rgb_matrix_indicators_user(void) {

  //secgame layer
  if (IS_LAYER_ON(SECGAME)) {
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
      if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
            rgb_matrix_set_color(i, 255, 0, 0);
      }

M keyboards/kprepublic/bm60hsrgb/rev1/config.h => keyboards/kprepublic/bm60hsrgb/rev1/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 69
#define RGB_MATRIX_LED_COUNT 69
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 69
#    define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb/rev2/config.h => keyboards/kprepublic/bm60hsrgb/rev2/config.h +2 -2
@@ 100,7 100,7 @@

#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 63
//#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
//#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
    #define RGB_MATRIX_DISABLE_KEYCODES


@@ 118,7 118,7 @@
#    define WS2812_LED_TOTAL 6
#endif

#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL)

#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb/rev2/rev2.c => keyboards/kprepublic/bm60hsrgb/rev2/rev2.c +1 -1
@@ 22,7 22,7 @@
#    include "is31fl3733.h"
#    include "ws2812.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_1, A_1, C_1 },
    { 0, B_2, A_2, C_2 },
    { 0, B_3, A_3, C_3 },

M keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h => keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h +1 -1
@@ 43,7 43,7 @@
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 69
#define RGB_MATRIX_LED_COUNT 69
#ifdef RGB_DI_PIN
    #define RGBLED_NUM 69
    #define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h => keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +1 -1
@@ 67,7 67,7 @@
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 63
#    define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#    define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

#define RGB_MATRIX_KEYPRESSES
// RGB Matrix Animation modes. Explicitly enabled

M keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c => keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c +1 -1
@@ 15,7 15,7 @@
#include "rev2.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_1, A_1, C_1 },
    { 0, B_2, A_2, C_2 },
    { 0, B_3, A_3, C_3 },

M keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h => keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h +1 -1
@@ 41,7 41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 70
#    define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h => keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +1 -1
@@ 137,7 137,7 @@
#    define WS2812_LED_TOTAL RGBLED_NUM
#endif

#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL)

#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c => keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c +1 -1
@@ 24,7 24,7 @@
#    include "ws2812.h"


const PROGMEM is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const PROGMEM is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_1, A_1, C_1 },
    { 0, B_2, A_2, C_2 },
    { 0, B_3, A_3, C_3 },

M keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h => keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h +1 -1
@@ 39,7 39,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67
#ifdef RGB_DI_PIN
    #define RGBLED_NUM 67
    #define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c => keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c +1 -1
@@ 109,7 109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}

void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
    if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
        rgb_matrix_set_color( i, red, green, blue );
    }

M keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h => keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +1 -1
@@ 133,7 133,7 @@
#    define WS2812_LED_TOTAL RGBLED_NUM
#endif

#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL)

#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c => keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c +1 -1
@@ 21,7 21,7 @@
#    include "is31fl3733.h"
#    include "ws2812.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, B_1, A_1, C_1 },
    { 0, B_2, A_2, C_2 },
    { 0, B_3, A_3, C_3 },

M keyboards/kprepublic/bm65hsrgb/rev1/config.h => keyboards/kprepublic/bm65hsrgb/rev1/config.h +1 -1
@@ 46,7 46,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN E2
// The number of LEDs connected
#define DRIVER_LED_TOTAL 73
#define RGB_MATRIX_LED_COUNT 73
#ifdef RGB_DI_PIN
    #define RGBLED_NUM 73
    #define RGB_MATRIX_KEYPRESSES // reacts to keypresses

M keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c => keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c +1 -1
@@ 423,7 423,7 @@ void set_layer_color(int layer) {
    }
    // non key specific lighting instead led flag based
    if (layer == _LVL7_){
        for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
        for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
            if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
                set_led_color_by_hsv(i, C_HSV_DARKGOLD);
            }

M keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h => keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h +1 -1
@@ 42,7 42,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 74
#define RGB_MATRIX_LED_COUNT 74
#ifdef RGB_DI_PIN
    #define RGBLED_NUM 74
    #define RGB_MATRIX_KEYPRESSES

M keyboards/kprepublic/bm68hsrgb/rev1/config.h => keyboards/kprepublic/bm68hsrgb/rev1/config.h +1 -1
@@ 46,7 46,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN E2
// The number of LEDs connected
#define DRIVER_LED_TOTAL 74
#define RGB_MATRIX_LED_COUNT 74
#ifdef RGB_DI_PIN
#    define RGBLED_NUM 74
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses

M keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h => keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h +1 -1
@@ 64,7 64,7 @@
// #define RGBLIGHT_VAL_STEP 12        // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0   // number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS             // Run RGB animations
// #define RGBLIGHT_ANIMATIONS             // Enable all additional animation modes.

M keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c => keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c +2 -2
@@ 56,7 56,7 @@ Templete
#undef _______
#define _______ {0, 0, 0}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [1] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,  _______,   _______,
        GREEN,   BLUE, {0, 0, 255}, PURPLE, AZURE, _______, {0, 0, 255}, {0, 0, 255}, {0, 0, 255}, _______, _______, _______, _______,  _______, _______,


@@ 270,7 270,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {

void set_layer_color(int layer) {
    if (layer == 0) { return; }
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = pgm_read_byte(&ledmap[layer][i][0]),
            .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/kprepublic/bm68hsrgb/rev2/config.h => keyboards/kprepublic/bm68hsrgb/rev2/config.h +1 -1
@@ 55,7 55,7 @@

#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 68
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define DRIVER_INDICATOR_LED_TOTAL 0

#ifdef RGB_MATRIX_ENABLE

M keyboards/kprepublic/bm68hsrgb/rev2/rev2.c => keyboards/kprepublic/bm68hsrgb/rev2/rev2.c +1 -1
@@ 17,7 17,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS6_SW1, CS5_SW1, CS4_SW1},
    {0, CS6_SW2, CS5_SW2, CS4_SW2},
    {0, CS6_SW3, CS5_SW3, CS4_SW3},

M keyboards/kprepublic/bm80hsrgb/config.h => keyboards/kprepublic/bm80hsrgb/config.h +2 -2
@@ 48,7 48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#define RGB_DI_PIN E2
// The number of LEDs connected
#define DRIVER_LED_TOTAL 87
#define RGB_MATRIX_LED_COUNT 87

#ifdef RGB_DI_PIN
#define RGBLED_NUM 87


@@ 56,7 56,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
//#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
//#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set

M keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h => keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h +1 -1
@@ 46,7 46,7 @@
// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set
// #define RGB_DISABLE_AFTER_TIMEOUT 0   // number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)



M keyboards/kprepublic/bm80v2/bm80v2.c => keyboards/kprepublic/bm80v2/bm80v2.c +1 -1
@@ 16,7 16,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS6_SW1, CS5_SW1, CS4_SW1},
    {0, CS6_SW3, CS5_SW3, CS4_SW3}, 
    {0, CS6_SW4, CS5_SW4, CS4_SW4},    

M keyboards/kprepublic/bm80v2/config.h => keyboards/kprepublic/bm80v2/config.h +1 -1
@@ 70,6 70,6 @@
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 87
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180

M keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c => keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c +1 -1
@@ 16,7 16,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS6_SW1, CS5_SW1, CS4_SW1},
    {0, CS6_SW3, CS5_SW3, CS4_SW3}, 
    {0, CS6_SW4, CS5_SW4, CS4_SW4},    

M keyboards/kprepublic/bm80v2_iso/config.h => keyboards/kprepublic/bm80v2_iso/config.h +1 -1
@@ 71,6 71,6 @@
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 88
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180

M keyboards/kprepublic/bm980hsrgb/config.h => keyboards/kprepublic/bm980hsrgb/config.h +1 -1
@@ 56,7 56,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B0

// The number of LEDs connected
#define DRIVER_LED_TOTAL  98
#define RGB_MATRIX_LED_COUNT  98
//#ifdef RGB_DI_PIN
#    define RGBLED_NUM 98
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses

M keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h => keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h +1 -1
@@ 18,7 18,7 @@
// ws2812 options
#define RGB_DI_PIN C7 // pin the DI on the ws2812 is hooked-up to
#define RGBLED_NUM 4 // number of LEDs
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define RGB_MATRIX_KEYPRESSES


M keyboards/latincompass/latin17rgb/config.h => keyboards/latincompass/latin17rgb/config.h +1 -1
@@ 109,7 109,7 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 25
#    define DRIVER_2_LED_TOTAL 24
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#endif
#define RGB_DI_PIN B7

M keyboards/latincompass/latin17rgb/latin17rgb.c => keyboards/latincompass/latin17rgb/latin17rgb.c +1 -1
@@ 17,7 17,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/latincompass/latin60rgb/config.h => keyboards/latincompass/latin60rgb/config.h +1 -1
@@ 96,5 96,5 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 60
#    define RGB_MATRIX_LED_COUNT 60
#endif

M keyboards/latincompass/latin60rgb/latin60rgb.c => keyboards/latincompass/latin60rgb/latin60rgb.c +1 -1
@@ 16,7 16,7 @@
#include "latin60rgb.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, K_13, J_13, L_13 },
    { 0, K_12, J_12, L_12 },
    { 0, K_11, J_11, L_11 },

M keyboards/latincompass/latin64ble/config.h => keyboards/latincompass/latin64ble/config.h +1 -1
@@ 29,7 29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
#define RGB_DI_PIN B7

#define RGBLED_NUM 2
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

M keyboards/latincompass/latin6rgb/config.h => keyboards/latincompass/latin6rgb/config.h +1 -1
@@ 107,7 107,7 @@
#define DRIVER_ADDR_1 0b1110100

#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 6
#define RGB_MATRIX_LED_COUNT 6
#endif
//#define RGB_DI_PIN B7
//#ifdef RGB_DI_PIN

M keyboards/latincompass/latin6rgb/latin6rgb.c => keyboards/latincompass/latin6rgb/latin6rgb.c +1 -1
@@ 17,7 17,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/latincompass/latinpad/config.h => keyboards/latincompass/latinpad/config.h +1 -1
@@ 30,7 30,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
#define RGB_DI_PIN D3

#define RGBLED_NUM 18
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/latincompass/latinpadble/config.h => keyboards/latincompass/latinpadble/config.h +1 -1
@@ 34,7 34,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
#define RGB_DI_PIN B7

#define RGBLED_NUM 4
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

M keyboards/linworks/fave65h/config.h => keyboards/linworks/fave65h/config.h +1 -1
@@ 35,7 35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

/* Define RGB */
#define RGBLED_NUM 67
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67
#define RGB_DI_PIN B0

#ifdef RGB_MATRIX_ENABLE

M keyboards/linworks/fave84h/config.h => keyboards/linworks/fave84h/config.h +1 -1
@@ 46,7 46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

/* Define RGB */
#define RGBLED_NUM 126
#define DRIVER_LED_TOTAL 126
#define RGB_MATRIX_LED_COUNT 126
#define RGB_DI_PIN D2

#ifdef RGB_MATRIX_ENABLE

M keyboards/linworks/fave87h/config.h => keyboards/linworks/fave87h/config.h +1 -1
@@ 35,7 35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

/* Define RGB */
#define RGBLED_NUM 127
#define DRIVER_LED_TOTAL 127
#define RGB_MATRIX_LED_COUNT 127
#define RGB_DI_PIN D2

#ifdef RGB_MATRIX_ENABLE

M keyboards/maple_computing/launchpad/keymaps/drashna/config.h => keyboards/maple_computing/launchpad/keymaps/drashna/config.h +1 -1
@@ 26,6 26,6 @@
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17

#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define AUDIO_PIN B7
#define AUDIO_CLICKY

M keyboards/marksard/rhymestone/rev1/config.h => keyboards/marksard/rhymestone/rev1/config.h +2 -2
@@ 81,12 81,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
  #define RGBLED_NUM 40    // Number of LEDs
  #define DRIVER_LED_TOTAL RGBLED_NUM
  #define RGB_MATRIX_LED_COUNT RGBLED_NUM
  #define RGB_MATRIX_KEYPRESSES  // reacts to keypresses
  // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
  // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
  #define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
  // #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
  // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
  // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
  #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150  // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
  #define RGB_MATRIX_HUE_STEP 8

M keyboards/massdrop/alt/config_led.h => keyboards/massdrop/alt/config_led.h +1 -1
@@ 19,7 19,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

//Define number of ISSI3733 drivers being used (1...16)
#define ISSI3733_DRIVER_COUNT 2
#define DRIVER_LED_TOTAL ISSI3733_LED_COUNT
#define RGB_MATRIX_LED_COUNT ISSI3733_LED_COUNT

//Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic)
#define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE }

M keyboards/massdrop/alt/keymaps/jdelkins/keymap.c => keyboards/massdrop/alt/keymaps/jdelkins/keymap.c +2 -2
@@ 230,7 230,7 @@ static void set_rgb_layer(int layer) {

    switch (cur->type) {
        case type_hsv:
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL ; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT ; i++) {
                if (!(g_led_config.flags[i] & cur->flags))
                    rgb_matrix_set_color(i, 0, 0, 0);
            }


@@ 247,7 247,7 @@ static void set_rgb_layer(int layer) {
                rgb_matrix_mode_noeeprom(rgbs[cur->mode - RGB_MATRIX_EFFECT_MAX].mode);
            else
                rgb_matrix_mode_noeeprom(cur->mode);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                const RGB *m = &cur->rgb[i];
                if (!RGB_IS_NULL(*m))
                    rgb_matrix_set_color(i, m->r, m->g, m->b);

M keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h => keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h +1 -1
@@ 63,7 63,7 @@ struct layer_rgb {
    uint8_t mode;
    union {
        HSV hsv;
        RGB rgb[DRIVER_LED_TOTAL];
        RGB rgb[RGB_MATRIX_LED_COUNT];
    };
};


M keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c => keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c +2 -2
@@ 113,7 113,7 @@ static void set_rgb_layer(int layer) {

    switch (cur->type) {
        case type_hsv:
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL ; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT ; i++) {
                if (!(g_led_config.flags[i] & cur->flags))
                    rgb_matrix_set_color(i, 0, 0, 0);
            }


@@ 130,7 130,7 @@ static void set_rgb_layer(int layer) {
                rgb_matrix_mode_noeeprom(rgbs[cur->mode - RGB_MATRIX_EFFECT_MAX].mode);
            else
                rgb_matrix_mode_noeeprom(cur->mode);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                const RGB *m = &cur->rgb[i];
                if (!RGB_IS_NULL(*m))
                    rgb_matrix_set_color(i, m->r, m->g, m->b);

M keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h => keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h +1 -1
@@ 63,7 63,7 @@ struct layer_rgb {
    uint8_t mode;
    union {
        HSV hsv;
        RGB rgb[DRIVER_LED_TOTAL];
        RGB rgb[RGB_MATRIX_LED_COUNT];
    };
};


M keyboards/massdrop/alt/keymaps/pregame/config.h => keyboards/massdrop/alt/keymaps/pregame/config.h +1 -1
@@ 89,7 89,7 @@
// #define RGBLIGHT_VAL_STEP 12        						// Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0   					// number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED 			// turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 					// limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGBLIGHT_ANIMATIONS             					// Run RGB animations
// #define RGBLIGHT_ANIMATIONS             					// Enable all additional animation modes.

M keyboards/massdrop/alt/keymaps/pregame/keymap.c => keyboards/massdrop/alt/keymaps/pregame/keymap.c +2 -2
@@ 81,7 81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#undef _______
#define _______ {0, 0, 0}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [0] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, CHART,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,


@@ 182,7 182,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}
void set_layer_color(int layer) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = pgm_read_byte(&ledmap[layer][i][0]),
            .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/massdrop/ctrl/config_led.h => keyboards/massdrop/ctrl/config_led.h +1 -1
@@ 19,7 19,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

//Define number of ISSI3733 drivers being used (1...16)
#define ISSI3733_DRIVER_COUNT 2
#define DRIVER_LED_TOTAL ISSI3733_LED_COUNT
#define RGB_MATRIX_LED_COUNT ISSI3733_LED_COUNT

//Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic)
#define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE }

M keyboards/massdrop/ctrl/keymaps/endgame/config.h => keyboards/massdrop/ctrl/keymaps/endgame/config.h +1 -1
@@ 49,7 49,7 @@
// #define RGBLIGHT_VAL_STEP 12        // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0   // number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS             // Run RGB animations
// #define RGBLIGHT_ANIMATIONS             // Enable all additional animation modes.

M keyboards/massdrop/ctrl/keymaps/endgame/keymap.c => keyboards/massdrop/ctrl/keymaps/endgame/keymap.c +2 -2
@@ 124,7 124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#undef _______
#define _______ {0, 0, 0}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [_FL] = {
        _______, CORAL,   CORAL,   _______, _______, CORAL,   CORAL,   _______, _______, CORAL,   _______, YELLOW,  YELLOW,           TEAL,    GOLD,   GOLD,
        _______, _______, PINK,    PINK,    PINK,    PINK,    _______, _______, _______, GREEN,   GREEN,   GREEN,   GREEN,   _______, TEAL,    TEAL,   TEAL,


@@ 354,7 354,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {

void set_layer_color(int layer) {
    if (layer == 0) { return; }
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = pgm_read_byte(&ledmap[layer][i][0]),
            .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/massdrop/ctrl/keymaps/foxx1337/config.h => keyboards/massdrop/ctrl/keymaps/foxx1337/config.h +1 -1
@@ 34,7 34,7 @@
// #define RGBLIGHT_VAL_STEP 12        // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0   // number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS             // Run RGB animations
// #define RGBLIGHT_ANIMATIONS             // Enable all additional animation modes.

M keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h => keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h +1 -1
@@ 75,6 75,6 @@ extern uint8_t raw_hid_buffer[RAW_EPSIZE];

// Defined in rgb_matrix_user.inc
// It's 119 for Massdrop CTRL, 0 - 118.
extern RGB rgb_matrix_led_state[DRIVER_LED_TOTAL];
extern RGB rgb_matrix_led_state[RGB_MATRIX_LED_COUNT];

void raw_hid_perform_send(void);

M keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c => keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c +3 -3
@@ 199,9 199,9 @@ void raw_hid_led(uint8_t *data) {
    //rgb_matrix_set_color(data[1], data[2], data[3], data[4]);
    const uint8_t led = data[1];

    if (led >= DRIVER_LED_TOTAL) {
    if (led >= RGB_MATRIX_LED_COUNT) {
        raw_hid_buffer[1] = CTRL_HID_NOK;
        raw_hid_buffer[2] = DRIVER_LED_TOTAL;
        raw_hid_buffer[2] = RGB_MATRIX_LED_COUNT;
        raw_hid_buffer[3] = CTRL_HID_EOM;
        return;
    }


@@ 219,7 219,7 @@ void raw_hid_leds(uint8_t *data) {
    const uint8_t number_leds = data[2];

    uint8_t i = 0;
    while (i < number_leds && first_led + i < DRIVER_LED_TOTAL && i * 3 + 5 < RAW_EPSIZE) {
    while (i < number_leds && first_led + i < RGB_MATRIX_LED_COUNT && i * 3 + 5 < RAW_EPSIZE) {
        rgb_matrix_led_state[first_led + i].r = data[3 + i * 3 + 0];
        rgb_matrix_led_state[first_led + i].g = data[3 + i * 3 + 1];
        rgb_matrix_led_state[first_led + i].b = data[3 + i * 3 + 2];

M keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc => keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc +2 -2
@@ 26,7 26,7 @@ RGB_MATRIX_EFFECT(hid_effect)
// Define effects inside the `RGB_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS

RGB rgb_matrix_led_state[DRIVER_LED_TOTAL];
RGB rgb_matrix_led_state[RGB_MATRIX_LED_COUNT];

// e.g: A simple effect, self-contained within a single method
static bool hid_effect(effect_params_t* params) {


@@ 38,7 38,7 @@ static bool hid_effect(effect_params_t* params) {
            rgb_matrix_led_state[i].g,
            rgb_matrix_led_state[i].b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS

M keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h => keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h +1 -1
@@ 67,7 67,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #define RGBLIGHT_VAL_STEP 12        // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0   // number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS             // Run RGB animations
// #define RGBLIGHT_ANIMATIONS             // Enable all additional animation modes.

M keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c => keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c +2 -2
@@ 83,7 83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#    undef _______
#    define _______ {0,0,0}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [_NL] = {
        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,            _______, _______, _______,
        _______, _______, _______, _______, _______, _______, _______, GOLD,    GOLD,    GOLD,    GREEN,   GREEN,   GREEN,   _______,   _______, _______, _______,


@@ 217,7 217,7 @@ void set_layer_color(int layer) {
    if (layer == 0) {
        return;
    }
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = pgm_read_byte(&ledmap[layer][i][0]),
            .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/massdrop/ctrl/keymaps/xanimos/config.h => keyboards/massdrop/ctrl/keymaps/xanimos/config.h +1 -1
@@ 65,7 65,7 @@
// #define RGBLIGHT_VAL_STEP 12        // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0   // number of ticks to wait until disabling effects
// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS             // Run RGB animations
// #define RGBLIGHT_ANIMATIONS             // Enable all additional animation modes.

M keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c => keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c +2 -2
@@ 118,7 118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

#define __OFF__ {0, 0, 0}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [_FL] = {
        //  These remain on base layer rgb to see adjustments ;)
        //       |----------------------------------|


@@ 323,7 323,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {

void set_layer_color(int layer) {
    if (layer == 0) { return; }
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = pgm_read_byte(&ledmap[layer][i][0]),
            .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/matrix/m20add/config.h => keyboards/matrix/m20add/config.h +1 -1
@@ 86,4 86,4 @@

#define DRIVER_ADDR_1 0b1110100
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

M keyboards/matrix/m20add/rgb_ring.c => keyboards/matrix/m20add/rgb_ring.c +2 -2
@@ 30,7 30,7 @@
#endif
// rgb ring leds setting

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 373,7 373,7 @@ void rgb_ring_init(void)
{
    i2c_init();
    IS31FL3731_init(DRIVER_ADDR_1);
    for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
    for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
        bool enabled = true;
        IS31FL3731_set_led_control_register(index, enabled, enabled, enabled);
    }

M keyboards/matrix/noah/config.h => keyboards/matrix/noah/config.h +1 -1
@@ 30,7 30,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/matrix/noah/noah.c => keyboards/matrix/noah/noah.c +1 -1
@@ 63,7 63,7 @@ void matrix_scan_kb(void) {
}

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/mechlovin/adelais/rgb_led/rev1/config.h => keyboards/mechlovin/adelais/rgb_led/rev1/config.h +1 -1
@@ 4,7 4,7 @@
#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, B11, B10, B8, B4, B5, B3, C14, A15 }

#define RGB_DI_PIN A7
#define DRIVER_LED_TOTAL 91
#define RGB_MATRIX_LED_COUNT 91
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/mechlovin/adelais/rgb_led/rev2/config.h => keyboards/mechlovin/adelais/rgb_led/rev2/config.h +1 -1
@@ 23,7 23,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 32
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c => keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c +1 -1
@@ 17,7 17,7 @@
#include "adelais.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

    {0, C2_1,   C3_1,   C4_1}, //D102-A0-0
    {0, C5_1,   C6_1,   C7_1}, //D108-A1-1

M keyboards/mechlovin/adelais/rgb_led/rev3/config.h => keyboards/mechlovin/adelais/rgb_led/rev3/config.h +1 -1
@@ 51,7 51,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b0110010
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 66
#define RGB_MATRIX_LED_COUNT 66

#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)

M keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c => keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c +1 -1
@@ 17,7 17,7 @@
#include "rev3.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS3_SW5, CS2_SW5, CS1_SW5}, /* D9-K31-00 */
    {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* D46-K00-01 */
    {0, CS6_SW9, CS5_SW9, CS4_SW9}, /* D59-K01-02 */

M keyboards/mechlovin/delphine/rgb_led/config.h => keyboards/mechlovin/delphine/rgb_led/config.h +1 -1
@@ 31,7 31,7 @@
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110110
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 25
#define RGB_MATRIX_LED_COUNT 25
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects

M keyboards/mechlovin/delphine/rgb_led/rgb_led.c => keyboards/mechlovin/delphine/rgb_led/rgb_led.c +1 -1
@@ 18,7 18,7 @@


#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
// left CA
    {0, C5_2,   C6_2,   C7_2}, //D2-0
    {0, C1_1,   C3_2,   C4_2}, //D20-1

M keyboards/mechlovin/hannah60rgb/rev1/config.h => keyboards/mechlovin/hannah60rgb/rev1/config.h +1 -1
@@ 2,7 2,7 @@

#define RGB_DI_PIN A15
#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL 72
#    define RGB_MATRIX_LED_COUNT 72
#    define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#    define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/mechlovin/hannah60rgb/rev2/config.h => keyboards/mechlovin/hannah60rgb/rev2/config.h +1 -1
@@ 21,7 21,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 44
#define DRIVER_2_LED_TOTAL 34
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/mechlovin/hannah60rgb/rev2/rev2.c => keyboards/mechlovin/hannah60rgb/rev2/rev2.c +1 -1
@@ 17,7 17,7 @@
#include "rev2.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/mechlovin/infinity87/rgb_rev1/config.h => keyboards/mechlovin/infinity87/rgb_rev1/config.h +1 -1
@@ 89,5 89,5 @@
//#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DRIVER_ADDR_1 0b0110010
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 91
#define RGB_MATRIX_LED_COUNT 91
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c => keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c +1 -1
@@ 17,7 17,7 @@
#include "rgb_rev1.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS34_SW1,   CS35_SW1,   CS36_SW1}, //D92-K00-0
    {0, CS37_SW1,   CS38_SW1,   CS39_SW1}, //D94-K01-1
    {0, CS31_SW1,   CS32_SW1,   CS33_SW1}, //D96-K02-2

M keyboards/mechlovin/infinity875/config.h => keyboards/mechlovin/infinity875/config.h +1 -1
@@ 45,7 45,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
#define RGB_DI_PIN E2
#define DRIVER_LED_TOTAL 42
#define RGB_MATRIX_LED_COUNT 42
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)

M keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc => keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc +27 -27
@@ 62,7 62,7 @@ bool effect_runner_all(effect_params_t* params, i_f effect_func) {
        RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time));
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_esc(effect_params_t* params, i_f effect_func) {


@@ 77,7 77,7 @@ bool effect_runner_esc(effect_params_t* params, i_f effect_func) {
    for (uint8_t i = 1; i < 18; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_f13(effect_params_t* params, i_f effect_func) {


@@ 94,7 94,7 @@ bool effect_runner_f13(effect_params_t* params, i_f effect_func) {
    for (uint8_t i = 0; i < 14; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_clus(effect_params_t* params, i_f effect_func) {


@@ 109,7 109,7 @@ bool effect_runner_clus(effect_params_t* params, i_f effect_func) {
    for (uint8_t i = 0; i < 15; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) {


@@ 123,7 123,7 @@ bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) {
        RGB     rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time));
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) {


@@ 140,7 140,7 @@ bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) {
    for (uint8_t i = 1; i < 18; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) {


@@ 160,7 160,7 @@ bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) {
    for (uint8_t i = 0; i < 14; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) {


@@ 177,7 177,7 @@ bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) {
    for (uint8_t i = 0; i < 15; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 191,7 191,7 @@ bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func)
        RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time));
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 208,7 208,7 @@ bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func)
    for (uint8_t i = 1; i < 18; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 228,7 228,7 @@ bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func)
    for (uint8_t i = 0; i < 14; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 245,7 245,7 @@ bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func
    for (uint8_t i = 0; i < 15; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

static void raindrops_set_color_all(int i, effect_params_t* params) {


@@ 375,7 375,7 @@ static bool solid_esc(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
        rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Solid F13


@@ 390,7 390,7 @@ static bool solid_f13(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
        rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Solid cluster


@@ 404,7 404,7 @@ static bool solid_clus(effect_params_t* params) {
    for (uint8_t i = 15 ; i < led_max; i++) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Breathing all


@@ 420,7 420,7 @@ bool breathing_all(effect_params_t* params) {
        RGB_MATRIX_TEST_LED_FLAGS();
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Breathing ESC


@@ 439,7 439,7 @@ static bool breathing_esc(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
        rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b);
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Breathing F13


@@ 458,7 458,7 @@ static bool breathing_f13(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
        rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b);
    return led_max < DRIVER_LED_TOTAL;  
    return led_max < RGB_MATRIX_LED_COUNT;  
}

// Breathing cluster


@@ 476,7 476,7 @@ static bool breathing_clus(effect_params_t* params) {
        RGB_MATRIX_TEST_LED_FLAGS();
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Band Val all


@@ 698,7 698,7 @@ static bool raindrops_all(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_all(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_all(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 707,7 707,7 @@ static bool raindrops_all(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_all(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Raindrops ESC


@@ 715,7 715,7 @@ static bool raindrops_esc(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_esc(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_esc(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 724,7 724,7 @@ static bool raindrops_esc(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_esc(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Raindrops F13


@@ 732,7 732,7 @@ static bool raindrops_f13(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_f13(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_f13(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 741,7 741,7 @@ static bool raindrops_f13(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_f13(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Raindrops Cluster


@@ 749,7 749,7 @@ static bool raindrops_clus(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_clus(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_clus(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 758,7 758,7 @@ static bool raindrops_clus(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_clus(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS

M keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc => keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc +27 -27
@@ 62,7 62,7 @@ bool effect_runner_all(effect_params_t* params, i_f effect_func) {
        RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time));
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_esc(effect_params_t* params, i_f effect_func) {


@@ 77,7 77,7 @@ bool effect_runner_esc(effect_params_t* params, i_f effect_func) {
    for (uint8_t i = 1; i < 18; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_f13(effect_params_t* params, i_f effect_func) {


@@ 94,7 94,7 @@ bool effect_runner_f13(effect_params_t* params, i_f effect_func) {
    for (uint8_t i = 0; i < 14; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_clus(effect_params_t* params, i_f effect_func) {


@@ 109,7 109,7 @@ bool effect_runner_clus(effect_params_t* params, i_f effect_func) {
    for (uint8_t i = 0; i < 15; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) {


@@ 123,7 123,7 @@ bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) {
        RGB     rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time));
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) {


@@ 140,7 140,7 @@ bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) {
    for (uint8_t i = 1; i < 18; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) {


@@ 160,7 160,7 @@ bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) {
    for (uint8_t i = 0; i < 14; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) {


@@ 177,7 177,7 @@ bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) {
    for (uint8_t i = 0; i < 15; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 191,7 191,7 @@ bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func)
        RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time));
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 208,7 208,7 @@ bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func)
    for (uint8_t i = 1; i < 18; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 228,7 228,7 @@ bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func)
    for (uint8_t i = 0; i < 14; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func) {


@@ 245,7 245,7 @@ bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func
    for (uint8_t i = 0; i < 15; i++) {
        rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

static void raindrops_set_color_all(int i, effect_params_t* params) {


@@ 375,7 375,7 @@ static bool solid_esc(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
        rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Solid F13


@@ 390,7 390,7 @@ static bool solid_f13(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
        rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Solid cluster


@@ 404,7 404,7 @@ static bool solid_clus(effect_params_t* params) {
    for (uint8_t i = 15 ; i < led_max; i++) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Breathing all


@@ 420,7 420,7 @@ bool breathing_all(effect_params_t* params) {
        RGB_MATRIX_TEST_LED_FLAGS();
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Breathing ESC


@@ 439,7 439,7 @@ static bool breathing_esc(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
        rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b);
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Breathing F13


@@ 458,7 458,7 @@ static bool breathing_f13(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
        rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b);
    return led_max < DRIVER_LED_TOTAL;  
    return led_max < RGB_MATRIX_LED_COUNT;  
}

// Breathing cluster


@@ 476,7 476,7 @@ static bool breathing_clus(effect_params_t* params) {
        RGB_MATRIX_TEST_LED_FLAGS();
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Band Val all


@@ 698,7 698,7 @@ static bool raindrops_all(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_all(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_all(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 707,7 707,7 @@ static bool raindrops_all(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_all(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Raindrops ESC


@@ 715,7 715,7 @@ static bool raindrops_esc(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_esc(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_esc(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 724,7 724,7 @@ static bool raindrops_esc(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_esc(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Raindrops F13


@@ 732,7 732,7 @@ static bool raindrops_f13(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_f13(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_f13(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 741,7 741,7 @@ static bool raindrops_f13(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_f13(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

// Raindrops Cluster


@@ 749,7 749,7 @@ static bool raindrops_clus(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color_clus(rand() % DRIVER_LED_TOTAL, params);
            raindrops_set_color_clus(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }


@@ 758,7 758,7 @@ static bool raindrops_clus(effect_params_t* params) {
    for (int i = led_min; i < led_max; i++) {
        raindrops_set_color_clus(i, params);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS

M keyboards/melgeek/mach80/rev1/config.h => keyboards/melgeek/mach80/rev1/config.h +1 -1
@@ 33,7 33,7 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL

#define DRIVER_LED_TOTAL 97
#define RGB_MATRIX_LED_COUNT 97
#define DRIVER_INDICATOR_LED_TOTAL 3



M keyboards/melgeek/mach80/rev1/rev1.c => keyboards/melgeek/mach80/rev1/rev1.c +1 -1
@@ 19,7 19,7 @@
#ifdef RGB_MATRIX_ENABLE


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB2 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB3 */

M keyboards/melgeek/mach80/rev2/config.h => keyboards/melgeek/mach80/rev2/config.h +1 -1
@@ 33,7 33,7 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL

#define DRIVER_LED_TOTAL 94
#define RGB_MATRIX_LED_COUNT 94
#define DRIVER_INDICATOR_LED_TOTAL 3



M keyboards/melgeek/mach80/rev2/rev2.c => keyboards/melgeek/mach80/rev2/rev2.c +1 -1
@@ 19,7 19,7 @@
#ifdef RGB_MATRIX_ENABLE


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB2 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB3 */

M keyboards/melgeek/mj61/rev1/config.h => keyboards/melgeek/mj61/rev1/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 63
#define RGB_MATRIX_LED_COUNT 63
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj61/rev1/rev1.c => keyboards/melgeek/mj61/rev1/rev1.c +1 -1
@@ 17,7 17,7 @@
#include "mj61.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB1 */
    {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB2 */
    {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB3 */

M keyboards/melgeek/mj61/rev2/config.h => keyboards/melgeek/mj61/rev2/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 71
#define RGB_MATRIX_LED_COUNT 71
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj61/rev2/rev2.c => keyboards/melgeek/mj61/rev2/rev2.c +1 -1
@@ 19,7 19,7 @@
#ifdef RGB_MATRIX_ENABLE


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB3 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB4 */

M keyboards/melgeek/mj63/rev1/config.h => keyboards/melgeek/mj63/rev1/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 65
#define RGB_MATRIX_LED_COUNT 65
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj63/rev1/rev1.c => keyboards/melgeek/mj63/rev1/rev1.c +1 -1
@@ 19,7 19,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0,  CS9_SW1, CS8_SW1, CS7_SW1},   /* RGB1 */
    {0,  CS9_SW2, CS8_SW2, CS7_SW2},   /* RGB2 */
    {0,  CS9_SW3, CS8_SW3, CS7_SW3},   /* RGB3 */

M keyboards/melgeek/mj63/rev2/config.h => keyboards/melgeek/mj63/rev2/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 71
#define RGB_MATRIX_LED_COUNT 71
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj63/rev2/rev2.c => keyboards/melgeek/mj63/rev2/rev2.c +1 -1
@@ 19,7 19,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0,  CS9_SW1, CS8_SW1, CS7_SW1},   /* RGB1 */
    {0,  CS9_SW2, CS8_SW2, CS7_SW2},   /* RGB3 */
    {0,  CS9_SW3, CS8_SW3, CS7_SW3},   /* RGB4 */

M keyboards/melgeek/mj64/rev1/config.h => keyboards/melgeek/mj64/rev1/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 66
#define RGB_MATRIX_LED_COUNT 66
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj64/rev1/rev1.c => keyboards/melgeek/mj64/rev1/rev1.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1}, /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2}, /* RGB2 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3}, /* RGB3 */

M keyboards/melgeek/mj64/rev2/config.h => keyboards/melgeek/mj64/rev2/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 66
#define RGB_MATRIX_LED_COUNT 66
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj64/rev2/rev2.c => keyboards/melgeek/mj64/rev2/rev2.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB2 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB3 */

M keyboards/melgeek/mj64/rev3/config.h => keyboards/melgeek/mj64/rev3/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj64/rev3/rev3.c => keyboards/melgeek/mj64/rev3/rev3.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB3 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB4 */

M keyboards/melgeek/mj65/rev3/config.h => keyboards/melgeek/mj65/rev3/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 76
#define RGB_MATRIX_LED_COUNT 76
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/melgeek/mj65/rev3/rev3.c => keyboards/melgeek/mj65/rev3/rev3.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB2 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB3 */

M keyboards/melgeek/mojo68/rev1/config.h => keyboards/melgeek/mojo68/rev1/config.h +1 -1
@@ 33,5 33,5 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 68
#define RGB_MATRIX_LED_COUNT 68
#define DRIVER_INDICATOR_LED_TOTAL 3

M keyboards/melgeek/mojo68/rev1/rev1.c => keyboards/melgeek/mojo68/rev1/rev1.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1, CS8_SW1, CS7_SW1},    /* RGB1 */
    {0, CS9_SW2, CS8_SW2, CS7_SW2},    /* RGB2 */
    {0, CS9_SW3, CS8_SW3, CS7_SW3},    /* RGB3 */

M keyboards/melgeek/mojo75/rev1/config.h => keyboards/melgeek/mojo75/rev1/config.h +1 -1
@@ 33,6 33,6 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 92
#define RGB_MATRIX_LED_COUNT 92
#define DRIVER_INDICATOR_LED_TOTAL 0


M keyboards/melgeek/mojo75/rev1/rev1.c => keyboards/melgeek/mojo75/rev1/rev1.c +1 -1
@@ 18,7 18,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0,  CS6_SW1,  CS5_SW1,  CS4_SW1}, /* RGB1 */
    {0,  CS6_SW2,  CS5_SW2,  CS4_SW2}, /* RGB2 */
    {0,  CS6_SW3,  CS5_SW3,  CS4_SW3}, /* RGB3 */

M keyboards/melgeek/tegic/rev1/config.h => keyboards/melgeek/tegic/rev1/config.h +1 -1
@@ 33,7 33,7 @@
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define DRIVER_LED_TOTAL 91
#define RGB_MATRIX_LED_COUNT 91
//#define DRIVER_INDICATOR_LED_TOTAL 3



M keyboards/melgeek/tegic/rev1/rev1.c => keyboards/melgeek/tegic/rev1/rev1.c +1 -1
@@ 19,7 19,7 @@
#ifdef RGB_MATRIX_ENABLE


const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB1 */
    {0, CS9_SW2,  CS8_SW2,  CS7_SW2},  /* RGB2 */
    {0, CS9_SW3,  CS8_SW3,  CS7_SW3},  /* RGB3 */

M keyboards/melgeek/z70ultra/config.h => keyboards/melgeek/z70ultra/config.h +1 -1
@@ 81,5 81,5 @@
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 69
#define RGB_MATRIX_LED_COUNT 69
#define DRIVER_INDICATOR_LED_TOTAL 6

M keyboards/melgeek/z70ultra/z70ultra.c => keyboards/melgeek/z70ultra/z70ultra.c +1 -1
@@ 18,7 18,7 @@


#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS28_SW1, CS30_SW1, CS29_SW1}, /* RGB10 */
    {0, CS28_SW2, CS30_SW2, CS29_SW2}, /* RGB11 */
    {0, CS28_SW3, CS30_SW3, CS29_SW3}, /* RGB12 */

M keyboards/merge/um70/config.h => keyboards/merge/um70/config.h +1 -1
@@ 35,7 35,7 @@
#define RGBLED_NUM 83
#define RGBLED_SPLIT { 39, 44 }
#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#endif
#define RGBLIGHT_SLEEP

M keyboards/merge/um80/config.h => keyboards/merge/um80/config.h +1 -1
@@ 35,7 35,7 @@
#define RGBLED_NUM 100
#define RGBLED_SPLIT { 48, 52 }
#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_SPLIT RGBLED_SPLIT
#endif
#define RGBLIGHT_SLEEP

M keyboards/miller/gm862/config.h => keyboards/miller/gm862/config.h +1 -1
@@ 78,5 78,5 @@

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 62
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/miller/gm862/gm862.c => keyboards/miller/gm862/gm862.c +1 -1
@@ 1,7 1,7 @@
#include "gm862.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, B_1,    A_1,    C_1},
    {0, B_2,    A_2,    C_2},
    {0, B_3,    A_3,    C_3},

M keyboards/ml/gas75/config.h => keyboards/ml/gas75/config.h +1 -1
@@ 43,7 43,7 @@
#define ENCODERS_PAD_B { F1 }

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 3
    #define RGB_MATRIX_LED_COUNT 3
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/momokai/tap_trio/config.h => keyboards/momokai/tap_trio/config.h +1 -1
@@ 58,7 58,7 @@


// #ifdef RGB_DI_PIN
// #define DRIVER_LED_TOTAL 5
// #define RGB_MATRIX_LED_COUNT 5

// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// // #    define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value

M keyboards/monstargear/xo87/rgb/config.h => keyboards/monstargear/xo87/rgb/config.h +1 -1
@@ 27,7 27,7 @@
#define MATRIX_COL_PINS { C5,C3,C1,E1,D6,D2,B7,B3,F6,F7,F3,A5,A1,E2,C7,A6 }
#define DIODE_DIRECTION ROW2COL
#define RGB_DI_PIN D7
#define DRIVER_LED_TOTAL 110
#define RGB_MATRIX_LED_COUNT 110
#define RGB_DISABLE_WHEN_USB_SUSPENDED

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 100 out of 255.

M keyboards/monstargear/xo87/solderable/config.h => keyboards/monstargear/xo87/solderable/config.h +1 -1
@@ 37,7 37,7 @@

#define DIODE_DIRECTION ROW2COL
#define RGB_DI_PIN D7
#define DRIVER_LED_TOTAL 21
#define RGB_MATRIX_LED_COUNT 21
#define DRIVER_COUNT 2
#define RGBLED_NUM 21
#define RGBLIGHT_ANIMATIONS

M keyboards/moonlander/config.h => keyboards/moonlander/config.h +1 -1
@@ 75,7 75,7 @@
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_CENTER { 125, 26 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/moonlander/moonlander.c => keyboards/moonlander/moonlander.c +1 -1
@@ 174,7 174,7 @@ layer_state_t layer_state_set_kb(layer_state_t state) {

#ifdef RGB_MATRIX_ENABLE
// clang-format off
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/mss_studio/m63_rgb/config.h => keyboards/mss_studio/m63_rgb/config.h +1 -1
@@ 37,7 37,7 @@
#define FORCE_NKRO

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 75
    #define RGB_MATRIX_LED_COUNT 75
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/mss_studio/m64_rgb/config.h => keyboards/mss_studio/m64_rgb/config.h +1 -1
@@ 37,7 37,7 @@
#define FORCE_NKRO

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 76
    #define RGB_MATRIX_LED_COUNT 76
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/mt/mt64rgb/config.h => keyboards/mt/mt64rgb/config.h +1 -1
@@ 47,7 47,7 @@
#define DRIVER_ADDR_1 0b1010000

#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64


// RGB Matrix Animation modes. Explicitly enabled

M keyboards/mt/mt64rgb/mt64rgb.c => keyboards/mt/mt64rgb/mt64rgb.c +1 -1
@@ 16,7 16,7 @@
#include "mt64rgb.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 /* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/mt/mt84/config.h => keyboards/mt/mt84/config.h +1 -1
@@ 52,7 52,7 @@
    #define DRIVER_COUNT 2
	#define DRIVER_1_LED_TOTAL 44
	#define DRIVER_2_LED_TOTAL 40
	#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
	#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

 // RGB Matrix Animation modes. Explicitly enabled
 // For full list of effects, see:

M keyboards/mt/mt84/mt84.c => keyboards/mt/mt84/mt84.c +1 -1
@@ 16,7 16,7 @@
#include "mt84.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 /* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/mwstudio/mw65_rgb/config.h => keyboards/mwstudio/mw65_rgb/config.h +1 -1
@@ 43,7 43,7 @@
#define RGB_DI_PIN B3

#ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 83
    #define RGB_MATRIX_LED_COUNT 83
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
    #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
    #define RGB_MATRIX_KEYPRESSES

M keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c => keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c +1 -1
@@ 70,5 70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) {
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h => keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h +1 -1
@@ 41,5 41,5 @@ bool effect_rainbow_reactive(effect_params_t* params, rainbow_reactive_f effect_
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c => keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c +3 -3
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

static uint8_t offset[DRIVER_LED_TOTAL];
static uint8_t offset[RGB_MATRIX_LED_COUNT];

static void doRandom_breath_rainbow(int i, effect_params_t* params) {
    if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return;


@@ 41,7 41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
    
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params);
        doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params);
        return false;
    }
	


@@ 51,5 51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) {
        doRandom_breath_rainbow(i, params);
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

M keyboards/mwstudio/mw75/config.h => keyboards/mwstudio/mw75/config.h +1 -1
@@ 40,7 40,7 @@

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define DRIVER_LED_TOTAL 97
#define RGB_MATRIX_LED_COUNT 97
#define RGBLED_NUM 97
#define RGB_MATRIX_KEYPRESSES


M keyboards/mwstudio/mw75r2/config.h => keyboards/mwstudio/mw75r2/config.h +1 -1
@@ 40,7 40,7 @@

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define DRIVER_LED_TOTAL 21
#define RGB_MATRIX_LED_COUNT 21
#define RGBLED_NUM 21

#define ENABLE_RGB_MATRIX_ALPHAS_MODS

M keyboards/nack/config.h => keyboards/nack/config.h +1 -1
@@ 33,7 33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    #define WS2812_SPI_MOSI_PAL_MODE 5
    #define RGB_DI_PIN B5
    #define RGBLED_NUM 52
    #define DRIVER_LED_TOTAL RGBLED_NUM
    #define RGB_MATRIX_LED_COUNT RGBLED_NUM
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 // Max brightness of LEDs
    #define RGB_MATRIX_STARTUP_VAL 64
    #define RGB_MATRIX_HUE_STEP 10

M keyboards/neson_design/700e/700e.c => keyboards/neson_design/700e/700e.c +10 -10
@@ 111,7 111,7 @@ static void self_testing(void)
            }

            if (rgb_state.index >= ST_LEFT_END) {
                for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) {
                for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) {
                    IS31FL3731_set_color(i, led.r, led.g, led.b);
                }
                if (rgb_state.index == ST_LEFT_END) {


@@ 173,13 173,13 @@ static void self_testing(void)
        }
        break;
        case ST_STAGE_3:
            if (rgb_state.index != DRIVER_LED_TOTAL/2) {
            if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) {
                IS31FL3731_set_color_all(0, 0, 0);
            }

            // light left and right

            if (rgb_state.index == DRIVER_LED_TOTAL/2) {
            if (rgb_state.index == RGB_MATRIX_LED_COUNT/2) {
                if (rgb_state.duration) {
                    rgb_state.duration--;
                } else {


@@ 207,7 207,7 @@ static void self_testing(void)
    update_ticks();
}

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    /* Refer to IS31 manual for these locations
     *   driver
     *   |  R location


@@ 299,7 299,7 @@ void matrix_init_kb(void)
#ifdef DRIVER_ADDR_2
    IS31FL3731_init(DRIVER_ADDR_2);
#endif
    for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
    for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
        IS31FL3731_set_led_control_register(index, true, true, true);
    }
    IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0);


@@ 353,16 353,16 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
{
    if (rgb_state.state != NORMAL) return;

    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
    }
    LED_TYPE leds[4];
    for (int i = 0; i < 4; i++) {
        leds[i].r = start_led[DRIVER_LED_TOTAL+i].g;
        leds[i].g = start_led[DRIVER_LED_TOTAL+i].r;
        leds[i].b = start_led[DRIVER_LED_TOTAL+i].b;
        leds[i].r = start_led[RGB_MATRIX_LED_COUNT+i].g;
        leds[i].g = start_led[RGB_MATRIX_LED_COUNT+i].r;
        leds[i].b = start_led[RGB_MATRIX_LED_COUNT+i].b;
    }
    //ws2812_setleds(start_led+DRIVER_LED_TOTAL, 4);
    //ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 4);
    ws2812_setleds(leds, 4);
}


M keyboards/neson_design/700e/config.h => keyboards/neson_design/700e/config.h +1 -1
@@ 47,7 47,7 @@
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)

#define LED_CAPS_LOCK_PIN   F5


M keyboards/neson_design/n6/config.h => keyboards/neson_design/n6/config.h +1 -1
@@ 47,7 47,7 @@
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)

#define LED_CAPS_LOCK_PIN   F5


M keyboards/neson_design/n6/n6.c => keyboards/neson_design/n6/n6.c +7 -7
@@ 115,7 115,7 @@ static void self_testing(void)
            }

            if (rgb_state.index >= ST_LEFT_END) {
                for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) {
                for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) {
                    IS31FL3731_set_color(i, led.r, led.g, led.b);
                }
                if (rgb_state.index == ST_LEFT_END) {


@@ 177,13 177,13 @@ static void self_testing(void)
        }
        break;
        case ST_STAGE_3:
            if (rgb_state.index != DRIVER_LED_TOTAL/2) {
            if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) {
                IS31FL3731_set_color_all(0, 0, 0);
            }

            // light left and right

            if (rgb_state.index == DRIVER_LED_TOTAL/2) {
            if (rgb_state.index == RGB_MATRIX_LED_COUNT/2) {
                if (rgb_state.duration) {
                    rgb_state.duration--;
                } else {


@@ 211,7 211,7 @@ static void self_testing(void)
    update_ticks();
}

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    /* Refer to IS31 manual for these locations
     *   driver
     *   |  R location


@@ 303,7 303,7 @@ void matrix_init_kb(void)
#ifdef DRIVER_ADDR_2
    IS31FL3731_init(DRIVER_ADDR_2);
#endif
    for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
    for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
        IS31FL3731_set_led_control_register(index, true, true, true);
    }
    IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0);


@@ 355,10 355,10 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
{
    if (rgb_state.state != NORMAL) return;

    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
    }
    ws2812_setleds(start_led+DRIVER_LED_TOTAL, 1);
    ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 1);
}

bool led_update_kb(led_t led_state)

M keyboards/novelkeys/nk20/config.h => keyboards/novelkeys/nk20/config.h +1 -1
@@ 75,7 75,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define WS2812_DMA_CHANNEL 3

#define RGBLED_NUM 20
#define DRIVER_LED_TOTAL 20
#define RGB_MATRIX_LED_COUNT 20
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 210
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES

M keyboards/novelkeys/nk65/config.h => keyboards/novelkeys/nk65/config.h +1 -1
@@ 112,7 112,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 128
#define RGB_MATRIX_LED_COUNT 128

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/novelkeys/nk65b/config.h => keyboards/novelkeys/nk65b/config.h +1 -1
@@ 79,7 79,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define WS2812_DMA_CHANNEL 3

#define RGBLED_NUM 68
#define DRIVER_LED_TOTAL 68
#define RGB_MATRIX_LED_COUNT 68
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES

M keyboards/novelkeys/nk87/config.h => keyboards/novelkeys/nk87/config.h +1 -1
@@ 112,7 112,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 128
#define RGB_MATRIX_LED_COUNT 128

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/novelkeys/nk87b/config.h => keyboards/novelkeys/nk87b/config.h +1 -1
@@ 79,7 79,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define WS2812_DMA_CHANNEL 3

#define RGBLED_NUM 87
#define DRIVER_LED_TOTAL 87
#define RGB_MATRIX_LED_COUNT 87
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 114
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES

M keyboards/omkbd/runner3680/5x6_5x8/config.h => keyboards/omkbd/runner3680/5x6_5x8/config.h +1 -1
@@ 61,7 61,7 @@
#define RGBLIGHT_LIMIT_VAL 100
#endif
#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_LED_COUNT 70
#define RGB_MATRIX_SPLIT { 30, 40 }    // Number of LEDs
#endif


M keyboards/opendeck/32/rev1/config.h => keyboards/opendeck/32/rev1/config.h +1 -1
@@ 29,7 29,7 @@
// RGB matrix
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL (4 * 8 * 3)
#define RGB_MATRIX_LED_COUNT (4 * 8 * 3)
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_SPIRAL
#define RGB_MATRIX_DISABLE_KEYCODES

M keyboards/opendeck/32/rev1/rev1.c => keyboards/opendeck/32/rev1/rev1.c +1 -1
@@ 17,7 17,7 @@
#include "rev1.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    /* Refer to IS31 manual for these locations
     *   driver
     *   |  R location

M keyboards/owlab/voice65/hotswap/config.h => keyboards/owlab/voice65/hotswap/config.h +1 -1
@@ 71,7 71,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGB_MATRIX_STARTUP_VAL        128
#    define DRIVER_ADDR_1                 0b0110000
#    define DRIVER_COUNT                  1
#    define DRIVER_LED_TOTAL              67
#    define RGB_MATRIX_LED_COUNT              67
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/owlab/voice65/hotswap/hotswap.c => keyboards/owlab/voice65/hotswap/hotswap.c +1 -1
@@ 17,7 17,7 @@
#include "hotswap.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS3_SW1,  CS2_SW1,  CS1_SW1},  /* RGB0-ESC ROW0*/
    {0, CS6_SW1,  CS5_SW1,  CS4_SW1},  /* RGB1-1 */
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB2-2 */

M keyboards/owlab/voice65/soldered/config.h => keyboards/owlab/voice65/soldered/config.h +1 -1
@@ 70,7 70,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGB_MATRIX_STARTUP_VAL        128
#    define DRIVER_ADDR_1                 0b0110000
#    define DRIVER_COUNT                  1
#    define DRIVER_LED_TOTAL              71
#    define RGB_MATRIX_LED_COUNT              71

// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:

M keyboards/owlab/voice65/soldered/soldered.c => keyboards/owlab/voice65/soldered/soldered.c +1 -1
@@ 17,7 17,7 @@
#include "soldered.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS3_SW1,  CS2_SW1,  CS1_SW1},  /* RGB0-ESC ROW0*/
    {0, CS6_SW1,  CS5_SW1,  CS4_SW1},  /* RGB1-1 */
    {0, CS9_SW1,  CS8_SW1,  CS7_SW1},  /* RGB2-2 */

M keyboards/paprikman/albacore/config.h => keyboards/paprikman/albacore/config.h +1 -1
@@ 42,7 42,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B3

#ifdef RGB_MATRIX_ENABLE
  #define DRIVER_LED_TOTAL 8
  #define RGB_MATRIX_LED_COUNT 8
  #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
  #define RGB_DISABLE_WHEN_USB_SUSPENDED
  #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220

M keyboards/percent/canoe_gen2/config.h => keyboards/percent/canoe_gen2/config.h +1 -1
@@ 48,7 48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* Backlight configuration
 */
#define RGB_DI_PIN B7
#define DRIVER_LED_TOTAL 77
#define RGB_MATRIX_LED_COUNT 77
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150

#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT

M keyboards/phase_studio/titan65/hotswap/config.h => keyboards/phase_studio/titan65/hotswap/config.h +1 -1
@@ 38,7 38,7 @@
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN E6
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255

M keyboards/planck/ez/config.h => keyboards/planck/ez/config.h +1 -1
@@ 109,7 109,7 @@
#define DRIVER_ADDR_1 0b1010000

#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 47
#define RGB_MATRIX_LED_COUNT 47

#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/planck/ez/ez.c => keyboards/planck/ez/ez.c +1 -1
@@ 21,7 21,7 @@

keyboard_config_t keyboard_config;
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/planck/keymaps/charlesrocket/keymap.c => keyboards/planck/keymaps/charlesrocket/keymap.c +2 -2
@@ 71,7 71,7 @@ void keyboard_post_init_user(void) {
  rgb_matrix_enable();
}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [0] = { {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255} },

    [1] = { {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255} },


@@ 83,7 83,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
};

void set_layer_color(int layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
    HSV hsv = {
      .h = pgm_read_byte(&ledmap[layer][i][0]),
      .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/planck/keymaps/oryx/keymap.c => keyboards/planck/keymaps/oryx/keymap.c +2 -2
@@ 64,7 64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// clang-format on

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [0] = {{42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {32, 255, 234}, {32, 255, 234}, {32, 255, 234}, {32, 255, 234}},

    [1] = {{89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}},


@@ 74,7 74,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
};

void set_layer_color(int layer) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        HSV hsv = {
            .h = pgm_read_byte(&ledmap[layer][i][0]),
            .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/planck/keymaps/tom/keymap.c => keyboards/planck/keymaps/tom/keymap.c +3 -3
@@ 230,7 230,7 @@ void rgb_matrix_indicators_user(void) {
  #ifdef RGB_MATRIX_ENABLE
  switch (get_highest_layer(layer_state)) {
    case _RAISE:
      for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
      for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
          rgb_matrix_set_color(i, 0x6B, 0x00, 0x80);
        } else {


@@ 240,7 240,7 @@ void rgb_matrix_indicators_user(void) {
      break;

    case _LOWER:
      for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
      for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
          rgb_matrix_set_color(i, 0xFF, 0xA5, 0x00);
        } else {


@@ 250,7 250,7 @@ void rgb_matrix_indicators_user(void) {
      break;

    case _ADJUST:
      for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
      for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        rgb_matrix_set_color(i, 0xFF, 0x99, 0x00);
      }
      rgb_matrix_set_color(1, 0xFF, 0x00, 0x00);

M keyboards/planck/keymaps/tylerwince/keymap.c => keyboards/planck/keymaps/tylerwince/keymap.c +2 -2
@@ 130,7 130,7 @@ void keyboard_post_init_user(void) {
  rgb_matrix_enable();
}

const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
    [0] = { {32,255,234}, {32,255,234}, {12,225,241}, {12,225,241}, {0,204,255}, {0,204,255}, {169,120,255}, {169,120,255}, {169,120,255}, {146,224,255}, {146,224,255}, {146,224,255},
            {32,255,234}, {32,255,234}, {12,225,241}, {12,225,241}, {0,204,255}, {0,204,255}, {169,120,255}, {169,120,255}, {169,120,255}, {146,224,255}, {146,224,255}, {146,224,255},
            {32,255,234}, {32,255,234}, {12,225,241}, {12,225,241}, {0,204,255}, {0,204,255}, {169,120,255}, {169,120,255}, {169,120,255}, {146,224,255}, {146,224,255}, {146,224,255},


@@ 151,7 151,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = {
};

void set_layer_color(int layer) {
  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
  for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
    HSV hsv = {
      .h = pgm_read_byte(&ledmap[layer][i][0]),
      .s = pgm_read_byte(&ledmap[layer][i][1]),

M keyboards/planck/light/config.h => keyboards/planck/light/config.h +1 -1
@@ 34,7 34,7 @@
#define DRIVER_COUNT       2
#define DRIVER_1_LED_TOTAL 25
#define DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL   (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT   (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects

M keyboards/planck/light/light.c => keyboards/planck/light/light.c +1 -1
@@ 16,7 16,7 @@

#include "light.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/planck/rev6/config.h => keyboards/planck/rev6/config.h +1 -1
@@ 103,7 103,7 @@
 */
#define RGB_DI_PIN A1
#define RGBLED_NUM 9
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2

M keyboards/planck/rev6_drop/config.h => keyboards/planck/rev6_drop/config.h +1 -1
@@ 108,7 108,7 @@
 */
#define RGB_DI_PIN A1
#define RGBLED_NUM 9
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2

M keyboards/playkbtw/pk64rgb/config.h => keyboards/playkbtw/pk64rgb/config.h +1 -1
@@ 47,7 47,7 @@
	#define RGB_MATRIX_LED_FLUSH_LIMIT 26
	#define DRIVER_ADDR_1 0b1010000
    #define DRIVER_COUNT 1
	#define DRIVER_LED_TOTAL 64
	#define RGB_MATRIX_LED_COUNT 64


#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE

M keyboards/playkbtw/pk64rgb/pk64rgb.c => keyboards/playkbtw/pk64rgb/pk64rgb.c +1 -1
@@ 17,7 17,7 @@
#include "pk64rgb.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
 /* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/pom_keyboards/tnln95/config.h => keyboards/pom_keyboards/tnln95/config.h +1 -1
@@ 66,7 66,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    #define RGBLIGHT_SAT_STEP 8
    #define RGBLIGHT_VAL_STEP 8
    #define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep
//    #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
//    #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
//    #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
//    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 225 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
//    #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set

M keyboards/preonic/rev3/config.h => keyboards/preonic/rev3/config.h +1 -1
@@ 92,7 92,7 @@
#define RGBLED_NUM 9
#define RGBLIGHT_ANIMATIONS
// RGB Matrix support
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2

M keyboards/preonic/rev3_drop/config.h => keyboards/preonic/rev3_drop/config.h +1 -1
@@ 92,7 92,7 @@
#define RGBLED_NUM 9
#define RGBLIGHT_ANIMATIONS
// RGB Matrix support
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define WS2812_PWM_DRIVER PWMD2
#define WS2812_PWM_CHANNEL 2

M keyboards/qpockets/space_space/rev2/config.h => keyboards/qpockets/space_space/rev2/config.h +1 -1
@@ 46,5 46,5 @@
#define RGB_DI_PIN F0
#define RGBLED_NUM 4

#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGBLIGHT_DEFAULT_HUE 130

M keyboards/rgbkb/mun/config.h => keyboards/rgbkb/mun/config.h +1 -1
@@ 71,7 71,7 @@
#define RGBLED_SPLIT { 49, 49 }
#define RGBLIGHT_ANIMATIONS

#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_SPLIT RGBLED_SPLIT
#define RGB_MATRIX_CENTER { 128, 34 }
#define RGB_MATRIX_LED_FLUSH_LIMIT 33

M keyboards/rgbkb/pan/config.h => keyboards/rgbkb/pan/config.h +1 -1
@@ 25,7 25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define ENCODER_RESOLUTION 4
#define RGBLED_NUM 64
#define RGBLIGHT_ANIMATIONS
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

M keyboards/rgbkb/pan/pan.c => keyboards/rgbkb/pan/pan.c +2 -2
@@ 22,13 22,13 @@
#        include "ws2812.h"

// LED color buffer
LED_TYPE rgb_matrix_ws2812_array[DRIVER_LED_TOTAL];
LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT];

static void init(void) {}

static void flush(void) {
    // Assumes use of RGB_DI_PIN
    ws2812_setleds(rgb_matrix_ws2812_array, DRIVER_LED_TOTAL);
    ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT);
}

// Set an led in the buffer to a color

M keyboards/rgbkb/sol/rev1/config.h => keyboards/rgbkb/sol/rev1/config.h +1 -1
@@ 26,7 26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#else
  #define RGBLED_NUM 70
#endif
#define DRIVER_LED_TOTAL  RGBLED_NUM
#define RGB_MATRIX_LED_COUNT  RGBLED_NUM

#define RGB_MATRIX_CENTER { 112, 35 }


M keyboards/rgbkb/sol/rev2/config.h => keyboards/rgbkb/sol/rev2/config.h +1 -1
@@ 48,7 48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  #endif
#endif

#define DRIVER_LED_TOTAL  RGBLED_NUM
#define RGB_MATRIX_LED_COUNT  RGBLED_NUM

#define RGB_MATRIX_CENTER { 112, 37 }


M keyboards/rgbkb/sol3/config.h => keyboards/rgbkb/sol3/config.h +1 -1
@@ 96,7 96,7 @@
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE

#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_SPLIT RGBLED_SPLIT
#define RGB_MATRIX_CENTER { 81, 28 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL

M keyboards/rgbkb/zygomorph/rev1/config.h => keyboards/rgbkb/zygomorph/rev1/config.h +1 -1
@@ 49,7 49,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    #define RGBLED_SPLIT { 30, 30 }
#endif

#define DRIVER_LED_TOTAL 60
#define RGB_MATRIX_LED_COUNT 60
#define RGB_MATRIX_SPLIT { 30, 30 }

#ifdef IOS_DEVICE_ENABLE

M keyboards/ryanskidmore/rskeys100/config.h => keyboards/ryanskidmore/rskeys100/config.h +1 -1
@@ 31,7 31,7 @@
/* RGB Data Pin */
#define RGB_DI_PIN C7
/* The number of RGB LEDs connected */
#define DRIVER_LED_TOTAL 118
#define RGB_MATRIX_LED_COUNT 118
/* Set the maximum brightness to 110 to avoid going over 500 mA.
 * At full brightness with all three indicator LEDs on, the power draw is about 450 mA. */
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 110

M keyboards/s_ol/0xc_pad/config.h => keyboards/s_ol/0xc_pad/config.h +1 -1
@@ 19,7 19,7 @@

/* ws2812 RGB LED */
#define RGB_DI_PIN C7
#define DRIVER_LED_TOTAL 12
#define RGB_MATRIX_LED_COUNT 12
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#define RGB_MATRIX_CENTER \
    { 112, 63 }

M keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h => keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h +2 -2
@@ 25,14 25,14 @@
  #undef RGBLED_NUM
#endif

#define DRIVER_LED_TOTAL 48
#define RGB_MATRIX_LED_COUNT 48

#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_KEYPRESSES  // reacts to keypresses
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#    define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150  // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h => keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h +2 -2
@@ 25,7 25,7 @@
  #undef RGBLED_NUM
#endif

#define DRIVER_LED_TOTAL 48
#define RGB_MATRIX_LED_COUNT 48

#ifdef RGB_MATRIX_ENABLE
  #define RGB_MATRIX_KEYPRESSES // reacts to keypresses


@@ 34,7 34,7 @@
//  #define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
//  #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
  #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
  #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
  #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
  #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
  #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
//  #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set

M keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h => keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h +2 -2
@@ 21,14 21,14 @@
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180

#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#ifdef RGB_MATRIX_ENABLE
#    define RGB_MATRIX_KEYPRESSES  // reacts to keypresses
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#    define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #   define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150  // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/sawnsprojects/satxri6key/config.h => keyboards/sawnsprojects/satxri6key/config.h +1 -1
@@ 59,7 59,7 @@
//     #define RGBLIGHT_EFFECT_ALTERNATING
#endif

#define DRIVER_LED_TOTAL 6
#define RGB_MATRIX_LED_COUNT 6
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/senselessclay/ck60/config.h => keyboards/senselessclay/ck60/config.h +1 -1
@@ 35,7 35,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* RGB matrix lighting */ 
#define RGB_DI_PIN B1
#define DRIVER_LED_TOTAL 62
#define RGB_MATRIX_LED_COUNT 62
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160   // limit brightness to not overamp the USB

M keyboards/sets3n/kk980/config.h => keyboards/sets3n/kk980/config.h +1 -1
@@ 86,7 86,7 @@
#endif

#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_KEYPRESSES
#endif


M keyboards/silverbullet44/config.h => keyboards/silverbullet44/config.h +1 -1
@@ 55,7 55,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  #define RGBLED_SPLIT {26, 26}
  #define RGBLED_NUM 52
  #ifdef RGB_MATRIX_ENABLE
    #define DRIVER_LED_TOTAL 52
    #define RGB_MATRIX_LED_COUNT 52
    #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150

    #define RGB_MATRIX_HUE_STEP 8

M keyboards/skmt/15k/config.h => keyboards/skmt/15k/config.h +1 -1
@@ 23,7 23,7 @@

#define RGB_DI_PIN GP1 // RGB LED pin
#define RGBLED_NUM 15 // Number of LEDs
#define DRIVER_LED_TOTAL 15 // Number of LEDs
#define RGB_MATRIX_LED_COUNT 15 // Number of LEDs
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#define RGB_MATRIX_LED_FLUSH_LIMIT 16

M keyboards/smallkeyboard/config.h => keyboards/smallkeyboard/config.h +1 -1
@@ 102,7 102,7 @@
#define DRIVER_ADDR_1 0b1110100

#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 6
#define RGB_MATRIX_LED_COUNT 6
#endif
//#define RGB_DI_PIN B7
//#ifdef RGB_DI_PIN

M keyboards/smallkeyboard/smallkeyboard.c => keyboards/smallkeyboard/smallkeyboard.c +1 -1
@@ 17,7 17,7 @@

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    /* Refer to IS31 manual for these locations
     *   driver
     *   |  R location

M keyboards/sofle/keymaps/devdev/config.h => keyboards/sofle/keymaps/devdev/config.h +2 -2
@@ 51,7 51,7 @@
#ifdef RGB_MATRIX_ENABLE
#define RGBLED_NUM 35    // Number of LEDs
#define RGBLED_NUM 35    // Number of LEDs
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#endif

#ifdef RGBLIGHT_ENABLE


@@ 86,7 86,7 @@
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.


M keyboards/sofle/keymaps/killmaster/config.h => keyboards/sofle/keymaps/killmaster/config.h +1 -1
@@ 25,7 25,7 @@ for more options.
#ifdef RGB_MATRIX_ENABLE

#define RGBLED_NUM 72
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_HUE_STEP 8
#define RGB_MATRIX_SAT_STEP 8

M keyboards/sofle/keymaps/rgb_default/config.h => keyboards/sofle/keymaps/rgb_default/config.h +2 -2
@@ 51,7 51,7 @@
#ifdef RGB_MATRIX_ENABLE
#define RGBLED_NUM 35    // Number of LEDs
#define RGBLED_NUM 35    // Number of LEDs
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#endif

#ifdef RGBLIGHT_ENABLE


@@ 86,7 86,7 @@
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.


M keyboards/sofle/keymaps/via/config.h => keyboards/sofle/keymaps/via/config.h +1 -1
@@ 29,7 29,7 @@ for more options.
#    define RGBLED_SPLIT \
        { 36, 36 }
#    ifdef RGB_MATRIX_ENABLE
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#        define RGB_MATRIX_SPLIT RGBLED_SPLIT
#        define SPLIT_TRANSPORT_MIRROR
#    else

M keyboards/sowbug/68keys/config.h => keyboards/sowbug/68keys/config.h +1 -1
@@ 40,7 40,7 @@
// #define BACKLIGHT_PIN rgb_matrix
#define RGB_MATRIX_KEYPRESSES
#define RGBLED_NUM 68
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128
// RGB Matrix Animation modes. Explicitly enabled

M keyboards/sowbug/ansi_tkl/config.h => keyboards/sowbug/ansi_tkl/config.h +1 -1
@@ 36,7 36,7 @@
#define RGB_DI_PIN B9
#define RGB_MATRIX_KEYPRESSES
#define RGBLED_NUM 87
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128


M keyboards/spaceholdings/nebula12/config.h => keyboards/spaceholdings/nebula12/config.h +1 -1
@@ 144,7 144,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 16
#define RGB_MATRIX_LED_COUNT 16

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/spaceholdings/nebula12b/config.h => keyboards/spaceholdings/nebula12b/config.h +1 -1
@@ 68,7 68,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* RGB options */

#define RGB_DI_PIN D5
#define DRIVER_LED_TOTAL 16
#define RGB_MATRIX_LED_COUNT 16
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES

M keyboards/spaceholdings/nebula68/config.h => keyboards/spaceholdings/nebula68/config.h +1 -1
@@ 128,7 128,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }

#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 128
#define RGB_MATRIX_LED_COUNT 128

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for

M keyboards/spaceholdings/nebula68b/config.h => keyboards/spaceholdings/nebula68b/config.h +1 -1
@@ 68,7 68,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* RGB options */

#define RGB_DI_PIN B7
#define DRIVER_LED_TOTAL 79
#define RGB_MATRIX_LED_COUNT 79
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES

M keyboards/spaceholdings/nebula68b/hs/config.h => keyboards/spaceholdings/nebula68b/hs/config.h +2 -2
@@ 15,5 15,5 @@ You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#undef DRIVER_LED_TOTAL
#define DRIVER_LED_TOTAL 78
#undef RGB_MATRIX_LED_COUNT
#define RGB_MATRIX_LED_COUNT 78

M keyboards/splitkb/kyria/rev1/config.h => keyboards/splitkb/kyria/rev1/config.h +1 -1
@@ 82,7 82,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* RGB matrix support */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM // Number of LEDs
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM // Number of LEDs
#    define RGB_MATRIX_SPLIT { 10, 10 }
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
#    define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/splitkb/kyria/rev2/config.h => keyboards/splitkb/kyria/rev2/config.h +1 -1
@@ 92,7 92,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* RGB matrix support */
#ifdef RGB_MATRIX_ENABLE
#    define SPLIT_TRANSPORT_MIRROR
#    define DRIVER_LED_TOTAL RGBLED_NUM // Number of LEDs
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM // Number of LEDs
#    define RGB_MATRIX_SPLIT { 10, 10 }
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
#    define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/synapse/config.h => keyboards/synapse/config.h +1 -1
@@ 46,5 46,5 @@
//#define RGB_DI_PIN D5
//#define RGBLED_NUM 4

//#define DRIVER_LED_TOTAL RGBLED_NUM
//#define RGB_MATRIX_LED_COUNT RGBLED_NUM
//#define RGBLIGHT_DEFAULT_HUE 130

M keyboards/system76/launch_1/config.h => keyboards/system76/launch_1/config.h +1 -1
@@ 43,7 43,7 @@

#ifdef RGB_MATRIX_ENABLE
#    define RGB_DI_PIN E2
#    define DRIVER_LED_TOTAL 84
#    define RGB_MATRIX_LED_COUNT 84
#    define RGB_MATRIX_KEYPRESSES                                      // Reacts to keypresses
// #    define RGB_MATRIX_KEYRELEASES                                     // Reacts to keyreleases (instead of keypresses)
// #    define RGB_MATRIX_FRAMEBUFFER_EFFECTS                             // Enables framebuffer effects

M keyboards/system76/launch_1/rgb_matrix_kb.inc => keyboards/system76/launch_1/rgb_matrix_kb.inc +6 -6
@@ 24,13 24,13 @@ RGB_MATRIX_EFFECT(unlocked)
#include "dynamic_keymap.h"

static bool active_keys_initialized = false;
static uint8_t active_keys_table[DRIVER_LED_TOTAL] = {0};
static uint8_t active_keys_table[RGB_MATRIX_LED_COUNT] = {0};

static void active_keys_initialize(void) {
    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
        for (uint8_t col = 0; col < MATRIX_COLS; col++) {
            uint8_t led = g_led_config.matrix_co[row][col];
            if (led < DRIVER_LED_TOTAL && row < 16 && col < 16) {
            if (led < RGB_MATRIX_LED_COUNT && row < 16 && col < 16) {
                active_keys_table[led] = (row << 4) | col;
            }
        }


@@ 65,10 65,10 @@ static bool active_keys(effect_params_t* params) {
        }
    }

    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

RGB raw_rgb_data[DRIVER_LED_TOTAL] = {0};
RGB raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0};

static uint8_t normalize_component(uint8_t component) {
    uint16_t x = (uint16_t)component;


@@ 94,7 94,7 @@ static bool raw_rgb(effect_params_t* params) {
        RGB rgb = normalize_index(i);
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

static uint8_t unlocked_keys[8][2] = {


@@ 151,7 151,7 @@ static bool unlocked(effect_params_t* params) {
        RGB rgb = hsv_to_rgb(hsv);
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

#endif  // RGB_MATRIX_CUSTOM_EFFECT_IMPLS

M keyboards/system76/system76_ec.c => keyboards/system76/system76_ec.c +3 -3
@@ 129,7 129,7 @@ static enum rgb_matrix_effects mode_map[] = {

_Static_assert(sizeof(mode_map) == MODE_LAST, "mode_map_length");

RGB raw_rgb_data[DRIVER_LED_TOTAL];
RGB raw_rgb_data[RGB_MATRIX_LED_COUNT];

// clang-format off
rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT] = {


@@ 294,7 294,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
        case CMD_LED_GET_COLOR:
            if (!bootloader_unlocked) {
                uint8_t index = data[2];
                if (index < DRIVER_LED_TOTAL) {
                if (index < RGB_MATRIX_LED_COUNT) {
                    data[3] = raw_rgb_data[index].r;
                    data[4] = raw_rgb_data[index].g;
                    data[5] = raw_rgb_data[index].b;


@@ 322,7 322,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
                    .b = data[5],
                };

                if (index < DRIVER_LED_TOTAL) {
                if (index < RGB_MATRIX_LED_COUNT) {
                    raw_rgb_data[index] = rgb;
                    data[1] = 0;
                } else {

M keyboards/terrazzo/config.h => keyboards/terrazzo/config.h +1 -1
@@ 76,7 76,7 @@ so there is only one configuration. */

#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 105
#define LED_MATRIX_LED_COUNT 105
#define LED_MATRIX_ROWS 15
#define LED_MATRIX_COLS 7
#define LED_MATRIX_MAXIMUM_BRIGHTNESS 20

M keyboards/terrazzo/terrazzo.c => keyboards/terrazzo/terrazzo.c +4 -4
@@ 21,7 21,7 @@
    #include "print.h"
    #include "quantum.h"

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 * https://cdn-learn.adafruit.com/downloads/pdf/adafruit-15x7-7x15-charlieplex-led-matrix-charliewing-featherwing.pdf
 */


@@ 90,7 90,7 @@ uint8_t terrazzo_effect = 1;

void terrazzo_set_pixel(uint8_t x, uint8_t y, uint8_t value) {
    uint8_t target = y * LED_MATRIX_COLS + x;
    if (target < DRIVER_LED_TOTAL && target >= 0) {
    if (target < LED_MATRIX_LED_COUNT && target >= 0) {
      led_matrix_set_value(y * LED_MATRIX_COLS + x, value);
    }
}


@@ 117,10 117,10 @@ void terrazzo_scroll_pixel(bool clockwise) {
        terrazzo_led_index = terrazzo_led_index - 1;
    } 
    
    if (terrazzo_led_index >= DRIVER_LED_TOTAL) {
    if (terrazzo_led_index >= LED_MATRIX_LED_COUNT) {
        terrazzo_led_index = 0;
    } else if (terrazzo_led_index <= 0 ) {
        terrazzo_led_index = DRIVER_LED_TOTAL - 1;
        terrazzo_led_index = LED_MATRIX_LED_COUNT - 1;
    }
}


M keyboards/tkc/portico/config.h => keyboards/tkc/portico/config.h +2 -2
@@ 58,12 58,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 31
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#else
// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_LED_COUNT 67

#define RGB_BACKLIGHT_ENABLED 1


M keyboards/tkc/portico/portico.c => keyboards/tkc/portico/portico.c +1 -1
@@ 19,7 19,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    { 0, C2_1,  C3_1,  C4_1  },
    { 0, C1_1,  C3_2,  C4_2  },
    { 0, C1_2,  C2_2,  C4_3  },

M keyboards/tkc/portico68v2/config.h => keyboards/tkc/portico68v2/config.h +1 -1
@@ 35,7 35,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 82
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define DRIVER_INDICATOR_LED_TOTAL 0
#define RGB_MATRIX_CENTER { 116, 32 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175

M keyboards/tkc/portico68v2/portico68v2.c => keyboards/tkc/portico68v2/portico68v2.c +1 -1
@@ 18,7 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "portico68v2.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB1 */
    {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB2 */
    {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB3 */

M keyboards/tkc/portico75/config.h => keyboards/tkc/portico75/config.h +2 -2
@@ 100,12 100,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define DRIVER_ADDR_1 0b0110000
#    define DRIVER_COUNT 1
#    define DRIVER_1_LED_TOTAL 98
#    define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#    define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#    define DRIVER_INDICATOR_LED_TOTAL 0
#else
// WT_RGB IS31FL3741 driver code
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 98
#    define RGB_MATRIX_LED_COUNT 98

#    define RGB_BACKLIGHT_ENABLED 1


M keyboards/tkc/portico75/portico75.c => keyboards/tkc/portico75/portico75.c +1 -1
@@ 20,7 20,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, CS18_SW1, CS17_SW1, CS16_SW1},
    {0, CS18_SW2, CS17_SW2, CS16_SW2},
    {0, CS18_SW3, CS17_SW3, CS16_SW3},

M keyboards/tominabox1/le_chiffre/config.h => keyboards/tominabox1/le_chiffre/config.h +1 -1
@@ 39,7 39,7 @@

#define RGBLED_NUM 11

#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM

#define RGBLIGHT_ANIMATIONS


M keyboards/tzarc/djinn/rev1/config.h => keyboards/tzarc/djinn/rev1/config.h +1 -1
@@ 21,7 21,7 @@

// RGB configuration
#define RGBLED_NUM 84
#define DRIVER_LED_TOTAL 84
#define RGB_MATRIX_LED_COUNT 84
#define RGB_MATRIX_SPLIT \
    { 42, 42 }
#define RGB_POWER_ENABLE_PIN B1

M keyboards/tzarc/djinn/rev2/config.h => keyboards/tzarc/djinn/rev2/config.h +1 -1
@@ 23,7 23,7 @@

// RGB configuration
#define RGBLED_NUM 86
#define DRIVER_LED_TOTAL 86
#define RGB_MATRIX_LED_COUNT 86
#define RGB_MATRIX_SPLIT \
    { 43, 43 }
#define RGB_POWER_ENABLE_PIN B0

M keyboards/ungodly/launch_pad/config.h => keyboards/ungodly/launch_pad/config.h +2 -2
@@ 45,13 45,13 @@
#define RGB_DI_PIN F7
#ifdef RGB_MATRIX_ENABLE
#    define RGBLED_NUM 22
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_KEYPRESSES  // reacts to keypresses
// #    define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #    define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#    define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
#    define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #    define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #    define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #    define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50  // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#    define RGB_MATRIX_HUE_STEP 8

M keyboards/wekey/we27/config.h => keyboards/wekey/we27/config.h +1 -1
@@ 48,7 48,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN C6
// The number of LEDs connected
#define DRIVER_LED_TOTAL 27
#define RGB_MATRIX_LED_COUNT 27

#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)

M keyboards/wilba_tech/rama_works_kara/config.h => keyboards/wilba_tech/rama_works_kara/config.h +1 -1
@@ 27,7 27,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

M keyboards/wilba_tech/rama_works_koyu/config.h => keyboards/wilba_tech/rama_works_koyu/config.h +1 -1
@@ 27,7 27,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

M keyboards/wilba_tech/rama_works_m10_c/config.h => keyboards/wilba_tech/rama_works_m10_c/config.h +1 -1
@@ 47,7 47,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 12
#define RGB_MATRIX_LED_COUNT 12

// Enable WT RGB backlight
#define RGB_BACKLIGHT_ENABLED 1

M keyboards/wilba_tech/rama_works_m50_a/config.h => keyboards/wilba_tech/rama_works_m50_a/config.h +1 -1
@@ 47,7 47,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// Enable WT RGB backlight
#define RGB_BACKLIGHT_ENABLED 1

M keyboards/wilba_tech/rama_works_m60_a/config.h => keyboards/wilba_tech/rama_works_m60_a/config.h +1 -1
@@ 27,7 27,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

M keyboards/wilba_tech/rama_works_m65_b/config.h => keyboards/wilba_tech/rama_works_m65_b/config.h +1 -1
@@ 47,7 47,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// Enable WT RGB backlight
#define RGB_BACKLIGHT_ENABLED 1

M keyboards/wilba_tech/rama_works_m65_bx/config.h => keyboards/wilba_tech/rama_works_m65_bx/config.h +1 -1
@@ 47,7 47,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// Enable WT RGB backlight
#define RGB_BACKLIGHT_ENABLED 1

M keyboards/wilba_tech/rama_works_u80_a/config.h => keyboards/wilba_tech/rama_works_u80_a/config.h +1 -1
@@ 99,7 99,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 3
#define DRIVER_LED_TOTAL 108
#define RGB_MATRIX_LED_COUNT 108

#define RGB_BACKLIGHT_ENABLED 1


M keyboards/wilba_tech/wt60_b/config.h => keyboards/wilba_tech/wt60_b/config.h +1 -1
@@ 50,7 50,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

#define RGB_BACKLIGHT_ENABLED 1


M keyboards/wilba_tech/wt60_bx/config.h => keyboards/wilba_tech/wt60_bx/config.h +1 -1
@@ 50,7 50,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

#define RGB_BACKLIGHT_ENABLED 1


M keyboards/wilba_tech/wt60_c/config.h => keyboards/wilba_tech/wt60_c/config.h +1 -1
@@ 50,7 50,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

#define RGB_BACKLIGHT_ENABLED 1


M keyboards/wilba_tech/wt_rgb_backlight.c => keyboards/wilba_tech/wt_rgb_backlight.c +22 -22
@@ 162,7 162,7 @@ uint32_t g_any_key_hit = 0;
// ADDR_2 is not needed. it is here as a dummy
#define ISSI_ADDR_1 0x50

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 243,7 243,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x50
#define ISSI_ADDR_2 0x52

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 386,7 386,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 418,7 418,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_2 0x76  // 11101[10] <- SDA
#define ISSI_ADDR_3 0x75  // 11101[01] <- SCL

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 545,7 545,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x76

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 626,7 626,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x77

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |   R location


@@ 712,7 712,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x30
#define ISSI_ADDR_2

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |   R location


@@ 842,7 842,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, C1_9,  C3_10, C4_10}, // LB1
    {0, C1_10, C2_10, C4_11}, // LB2
    {0, C1_11, C2_11, C3_11}, // LB3


@@ 862,7 862,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x76

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location


@@ 1832,12 1832,12 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
        IS31FL3733_set_color( index, red, green, blue );
    }
#elif defined(RGB_BACKLIGHT_DAWN60)
    if( index < DRIVER_LED_TOTAL ) {
    if( index < RGB_MATRIX_LED_COUNT ) {
        IS31FL3731_set_color( index, red, green, blue );
    } else {
        g_ws2812_leds[index - DRIVER_LED_TOTAL].r = red;
        g_ws2812_leds[index - DRIVER_LED_TOTAL].g = green;
        g_ws2812_leds[index - DRIVER_LED_TOTAL].b = blue;
        g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].r = red;
        g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].g = green;
        g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].b = blue;
        ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL);
    }
#else


@@ 2131,9 2131,9 @@ void backlight_effect_alphas_mods(void)
    for (int i = 0; i < WS2812_LED_TOTAL; i++) {
        if ((RGB_UNDERGLOW_ALPHA_TOP_START <= i && i <= RGB_UNDERGLOW_ALPHA_TOP_END) ||
            (RGB_UNDERGLOW_ALPHA_BOT_START <= i && i <= RGB_UNDERGLOW_ALPHA_BOT_END)) {
            backlight_set_color(i + DRIVER_LED_TOTAL, rgb1.r, rgb1.g, rgb1.b);
            backlight_set_color(i + RGB_MATRIX_LED_COUNT, rgb1.r, rgb1.g, rgb1.b);
        } else {
            backlight_set_color(i + DRIVER_LED_TOTAL, rgb2.r, rgb2.g, rgb2.b);
            backlight_set_color(i + RGB_MATRIX_LED_COUNT, rgb2.r, rgb2.g, rgb2.b);
        }
    }
#endif


@@ 2927,7 2927,7 @@ void backlight_init_drivers(void)
#elif defined(RGB_BACKLIGHT_HS60)
    IS31FL3733_init( ISSI_ADDR_1, 0 );

    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
#if defined(HS60_ANSI)
        bool enabled = !( ( index == 48-1 ) || //LA48


@@ 2949,7 2949,7 @@ void backlight_init_drivers(void)
    IS31FL3733_init( ISSI_ADDR_1, 0 );
    IS31FL3733_init( ISSI_ADDR_2, 0 );

    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
        bool enabled = !( ( index == 61-1 )   || //LA61
                          ( index > 6+64-1 ) ); //LB7-LB64


@@ 2964,7 2964,7 @@ void backlight_init_drivers(void)
    IS31FL3733_init( ISSI_ADDR_1, 0 );
    IS31FL3733_init( ISSI_ADDR_2, 0 );

    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
        bool enabled = !( ( index == 61-1 )   || //LA61
                          ( (index >= 2+64-1) && (index <= 4+64-1) ) ||


@@ 2994,7 2994,7 @@ void backlight_init_drivers(void)
    IS31FL3733_init( ISSI_ADDR_1, 0 );
    IS31FL3733_init( ISSI_ADDR_2, 0 );

    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
        bool enabled = !( ( index == 61-1 )   || //LA61
                          ( index > 5+64-1 ) ); //LB6-LB64


@@ 3007,7 3007,7 @@ void backlight_init_drivers(void)
#elif defined(RGB_BACKLIGHT_PORTICO75)
    IS31FL3741_init( ISSI_ADDR_1 );
	bool enabled = true;
    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
        IS31FL3741_set_led_control_register( index, enabled, enabled, enabled );
    }


@@ 3017,7 3017,7 @@ void backlight_init_drivers(void)
    IS31FL3733_init( ISSI_ADDR_1, 0 );
    IS31FL3733_init( ISSI_ADDR_2, 0 );

    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
        bool enabled = !( ( index == 61-1 )   || //LA61
                          ( index > 6+64-1 ) ); //LB7-LB64


@@ 3044,7 3044,7 @@ void backlight_init_drivers(void)
    bool disable_spacebar_stab_leds = false;
#endif

    for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
    for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
    {
        // OR the possible "disabled" cases together, then NOT the result to get the enabled state
        // LC6 LD13 not present on Zeal65

M keyboards/wilba_tech/zeal60/config.h => keyboards/wilba_tech/zeal60/config.h +1 -1
@@ 27,7 27,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

M keyboards/wilba_tech/zeal65/config.h => keyboards/wilba_tech/zeal65/config.h +1 -1
@@ 27,7 27,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72
#define RGB_MATRIX_LED_COUNT 72

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

M keyboards/winry/winry315/config.h => keyboards/winry/winry315/config.h +1 -1
@@ 62,7 62,7 @@

// RGB Matrix configuration.
#ifdef RGB_MATRIX_ENABLE
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL

#    define RGB_MATRIX_CENTER \

M keyboards/winry/winry315/winry315.c => keyboards/winry/winry315/winry315.c +1 -1
@@ 223,7 223,7 @@ void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
void winry315_set_orientation(uint8_t orientation) {
    (void)orientation;
#if defined(RGB_MATRIX_ENABLE)
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) {
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) {
        led_point_t *      dst_point = &g_led_config.point[i];
        const led_point_t *src_point = &initial_led_config.point[i];
        uint8_t            x         = pgm_read_byte(&src_point->x);

M keyboards/work_louder/loop/config.h => keyboards/work_louder/loop/config.h +1 -1
@@ 79,7 79,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#endif

#define RGB_DI_PIN F1
#define DRIVER_LED_TOTAL 9
#define RGB_MATRIX_LED_COUNT 9
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define RGB_MATRIX_DISABLE_KEYCODES
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set

M keyboards/work_louder/micro/config.h => keyboards/work_louder/micro/config.h +1 -1
@@ 11,7 11,7 @@
 */

#define RGB_DI_PIN D1
#define DRIVER_LED_TOTAL 12
#define RGB_MATRIX_LED_COUNT 12
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#define RGB_MATRIX_DISABLE_KEYCODES
#define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/work_louder/nano/config.h => keyboards/work_louder/nano/config.h +1 -1
@@ 80,7 80,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#endif

#define RGB_DI_PIN                    F6
#define DRIVER_LED_TOTAL              2
#define RGB_MATRIX_LED_COUNT              2
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define RGB_MATRIX_DISABLE_KEYCODES
#define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/work_louder/work_board/config.h => keyboards/work_louder/work_board/config.h +1 -1
@@ 69,7 69,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#endif

#define RGB_DI_PIN                    D1
#define DRIVER_LED_TOTAL              49
#define RGB_MATRIX_LED_COUNT              49
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
#define RGB_MATRIX_DISABLE_KEYCODES
#define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/xbows/knight/config.h => keyboards/xbows/knight/config.h +1 -1
@@ 64,5 64,5 @@
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 35
#    define DRIVER_3_LED_TOTAL 15
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#endif

M keyboards/xbows/knight/knight.c => keyboards/xbows/knight/knight.c +1 -1
@@ 15,7 15,7 @@
 */
 #include "knight.h"
 #ifdef RGB_MATRIX_ENABLE
 const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

   {0, C1_3, C2_3, C3_3},   // L01
   {0, C1_4, C2_4, C3_4},   // L02

M keyboards/xbows/knight_plus/config.h => keyboards/xbows/knight_plus/config.h +1 -1
@@ 64,5 64,5 @@
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 35
#    define DRIVER_3_LED_TOTAL 15
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#endif

M keyboards/xbows/knight_plus/knight_plus.c => keyboards/xbows/knight_plus/knight_plus.c +1 -1
@@ 15,7 15,7 @@
 */
 #include "knight_plus.h"
 #ifdef RGB_MATRIX_ENABLE
 const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

  {0, C1_3, C2_3, C3_3},   // L01
  {0, C1_4, C2_4, C3_4},   // L02

M keyboards/xbows/nature/config.h => keyboards/xbows/nature/config.h +1 -1
@@ 66,5 66,5 @@
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 36
#    define DRIVER_3_LED_TOTAL 15
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#endif

M keyboards/xbows/nature/nature.c => keyboards/xbows/nature/nature.c +1 -1
@@ 15,7 15,7 @@
 */
 #include "nature.h"
 #ifdef RGB_MATRIX_ENABLE
 const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

	{0, C1_3, C2_3, C3_3},   // L01
	{0, C1_4, C2_4, C3_4},   // L02

M keyboards/xbows/numpad/config.h => keyboards/xbows/numpad/config.h +1 -1
@@ 59,5 59,5 @@

#    define DRIVER_ADDR_1 0b1110111
#    define DRIVER_COUNT 1
#    define DRIVER_LED_TOTAL 22
#    define RGB_MATRIX_LED_COUNT 22
#endif

M keyboards/xbows/numpad/numpad.c => keyboards/xbows/numpad/numpad.c +1 -1
@@ 15,7 15,7 @@
 */
 #include "numpad.h"
 #ifdef RGB_MATRIX_ENABLE
 const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
 const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

  {0, C3_3,  C2_3, C1_3},   // L01
  {0, C3_4,  C2_4, C1_4},   // L02

M keyboards/xbows/ranger/config.h => keyboards/xbows/ranger/config.h +1 -1
@@ 63,6 63,6 @@
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 36
#    define DRIVER_3_LED_TOTAL 15
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL)

#endif

M keyboards/xbows/ranger/ranger.c => keyboards/xbows/ranger/ranger.c +1 -1
@@ 15,7 15,7 @@
 */
 #include "ranger.h"
 #ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {

    {0, C3_3, C2_3, C1_3},  // L01
    {0, C3_4, C2_4, C1_4},  // L02

M keyboards/xbows/woody/config.h => keyboards/xbows/woody/config.h +1 -1
@@ 69,5 69,5 @@
#    define DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 32
#    define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

M keyboards/xbows/woody/woody.c => keyboards/xbows/woody/woody.c +1 -1
@@ 1,6 1,6 @@
#include "woody.h"
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
	
	{0, C8_8,  C7_8, C6_8},   // LA17
	{0, C9_8,  C7_7, C6_7},   // LA16

M keyboards/xelus/dawn60/rev1/config.h => keyboards/xelus/dawn60/rev1/config.h +1 -1
@@ 31,7 31,7 @@

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT 64

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

M keyboards/xelus/dawn60/rev1_qmk/config.h => keyboards/xelus/dawn60/rev1_qmk/config.h +1 -1
@@ 48,7 48,7 @@
#define DRIVER_1_LED_TOTAL 32
#define DRIVER_2_LED_TOTAL 32
#define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + WS2812_LED_TOTAL)
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + WS2812_LED_TOTAL)

#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_KEYPRESSES

M keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c => keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c +1 -1
@@ 25,7 25,7 @@
#ifdef RGB_MATRIX_ENABLE
LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL];

const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/xelus/la_plus/config.h => keyboards/xelus/la_plus/config.h +1 -1
@@ 42,7 42,7 @@
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN F1
// The number of LEDs connected
#define DRIVER_LED_TOTAL 32
#define RGB_MATRIX_LED_COUNT 32

#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended

M keyboards/xelus/pachi/rgb/rev1/config.h => keyboards/xelus/pachi/rgb/rev1/config.h +2 -2
@@ 58,8 58,8 @@

#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 117
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT

#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/xelus/pachi/rgb/rev1/rev1.c => keyboards/xelus/pachi/rgb/rev1/rev1.c +1 -1
@@ 22,7 22,7 @@ void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
#ifdef RGB_MATRIX_ENABLE
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3741.h"
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/xelus/pachi/rgb/rev2/config.h => keyboards/xelus/pachi/rgb/rev2/config.h +2 -2
@@ 55,8 55,8 @@

#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 117
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT

#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/xelus/pachi/rgb/rev2/rev2.c => keyboards/xelus/pachi/rgb/rev2/rev2.c +1 -1
@@ 22,7 22,7 @@ void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
#ifdef RGB_MATRIX_ENABLE
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3741.h"
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations
 *   driver
 *   |  R location

M keyboards/xelus/valor/rev2/config.h => keyboards/xelus/valor/rev2/config.h +1 -1
@@ 58,7 58,7 @@
/* RGB Matrix */
#define RGB_DI_PIN A9
#define RGBLED_NUM 28
#define DRIVER_LED_TOTAL 28
#define RGB_MATRIX_LED_COUNT 28
#define NOP_FUDGE 0.4

// RGB PWM

M keyboards/yandrstudio/nz64/config.h => keyboards/yandrstudio/nz64/config.h +2 -2
@@ 37,7 37,7 @@
#ifdef RGB_MATRIX_ENABLE
#   define RGB_DI_PIN A7
#   define RGBLED_NUM 82
#   define DRIVER_LED_TOTAL RGBLED_NUM
#   define RGB_MATRIX_LED_COUNT RGBLED_NUM

#   define WS2812_PWM_DRIVER PWMD3  // default: PWMD2
#   define WS2812_PWM_CHANNEL 2  // default: 2


@@ 105,7 105,7 @@
#ifdef RGBLIGHT_ENABLE
#   define RGB_DI_PIN A7
#   define RGBLED_NUM 82
#   define DRIVER_LED_TOTAL RGBLED_NUM
#   define RGB_MATRIX_LED_COUNT RGBLED_NUM

#   define WS2812_PWM_DRIVER PWMD3  // default: PWMD2
#   define WS2812_PWM_CHANNEL 2  // default: 2

M keyboards/yandrstudio/nz67v2/config.h => keyboards/yandrstudio/nz67v2/config.h +1 -1
@@ 46,7 46,7 @@

#    define RGB_DI_PIN B5
#    define RGBLED_NUM 86
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM

#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
#    define RGBLIGHT_VAL_STEP 5

M keyboards/yandrstudio/tg67/config.h => keyboards/yandrstudio/tg67/config.h +1 -1
@@ 35,7 35,7 @@

#    define RGB_DI_PIN A7
#    define RGBLED_NUM 69
#    define DRIVER_LED_TOTAL RGBLED_NUM
#    define RGB_MATRIX_LED_COUNT RGBLED_NUM

#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250
#    define RGBLIGHT_VAL_STEP 5

M keyboards/yanghu/unicorne/config.h => keyboards/yanghu/unicorne/config.h +1 -1
@@ 51,7 51,7 @@
/* RGB LED */
#define RGB_DI_PIN B1
#define RGBLED_NUM 8
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL

M keyboards/yncognito/batpad/config.h => keyboards/yncognito/batpad/config.h +1 -1
@@ 39,7 39,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DIODE_DIRECTION COL2ROW

#define RGB_DI_PIN B5
#define DRIVER_LED_TOTAL 8
#define RGB_MATRIX_LED_COUNT 8
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_KEYRELEASES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS

M keyboards/yushakobo/quick17/config.h => keyboards/yushakobo/quick17/config.h +2 -2
@@ 52,13 52,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_NUM 18

#ifdef RGB_MATRIX_ENABLE
#   define DRIVER_LED_TOTAL RGBLED_NUM
#   define RGB_MATRIX_LED_COUNT RGBLED_NUM
#   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#   define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#   define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
//      HSV_TEAL

M keyboards/yushakobo/quick17/rgb_matrix_kb.inc => keyboards/yushakobo/quick17/rgb_matrix_kb.inc +1 -1
@@ 27,7 27,7 @@ enum lighting_types {
    NUM_L
};

const uint8_t rgb_keymaps [][DRIVER_LED_TOTAL] = {
const uint8_t rgb_keymaps [][RGB_MATRIX_LED_COUNT] = {
    [_CONTROL] = LED_LAYOUT(
        _____, INDC2, INDC1, INDC2, INDC3, INDC4,
        _____, INDC1, INDC1, INDC1, INDC3, INDC4,

M layouts/community/ortho_3x10/bbaserdem/config.h => layouts/community/ortho_3x10/bbaserdem/config.h +1 -1
@@ 17,5 17,5 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#ifdef KEYBOARD_40percentclub_gherkin
    #define MUSIC_MAP
    #define RGB_DI_PIN F6
    #define DRIVER_LED_TOTAL 10
    #define RGB_MATRIX_LED_COUNT 10
#endif

M layouts/community/ortho_4x12/drashna/config.h => layouts/community/ortho_4x12/drashna/config.h +1 -1
@@ 41,7 41,7 @@
#    undef RGB_MATRIX_LED_PROCESS_LIMIT
#    undef RGB_MATRIX_LED_FLUSH_LIMIT
#    ifdef KEYBOARD_planck_rev6
#        define DRIVER_LED_TOTAL RGBLED_NUM
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
#    endif
#endif


M layouts/community/split_3x5_3/bbaserdem/config.h => layouts/community/split_3x5_3/bbaserdem/config.h +3 -3
@@ 27,9 27,9 @@
#   ifdef RGBLED_NUM
#   undef RGBLED_NUM
#   endif
#   ifdef DRIVER_LED_TOTAL
#   undef DRIVER_LED_TOTAL
#   ifdef RGB_MATRIX_LED_COUNT
#   undef RGB_MATRIX_LED_COUNT
#   endif
#   define RGBLED_NUM 48
#   define DRIVER_LED_TOTAL RGBLED_NUM
#   define RGB_MATRIX_LED_COUNT RGBLED_NUM
#endif // KEYBOARD_crkbd_rev1

M layouts/community/split_3x6_3/drashna/config.h => layouts/community/split_3x6_3/drashna/config.h +1 -1
@@ 48,7 48,7 @@
// #   define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #   define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#    define RGB_DISABLE_WHEN_USB_SUSPENDED  // turn off effects when suspended
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #   define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#    ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#        define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120  // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255

M quantum/led_matrix/led_matrix.c => quantum/led_matrix/led_matrix.c +4 -4
@@ 170,7 170,7 @@ void led_matrix_set_value(int index, uint8_t value) {

void led_matrix_set_value_all(uint8_t value) {
#if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++)
    for (uint8_t i = 0; i < LED_MATRIX_LED_COUNT; i++)
        led_matrix_set_value(i, value);
#else
#    ifdef USE_CIE1931_CURVE


@@ 399,13 399,13 @@ void led_matrix_indicators_advanced(effect_params_t *params) {
     * and not sure which would be better. Otherwise, this should be called from
     * led_task_render, right before the iter++ line.
     */
#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL
#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < LED_MATRIX_LED_COUNT
    uint8_t min = LED_MATRIX_LED_PROCESS_LIMIT * (params->iter - 1);
    uint8_t max = min + LED_MATRIX_LED_PROCESS_LIMIT;
    if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL;
    if (max > LED_MATRIX_LED_COUNT) max = LED_MATRIX_LED_COUNT;
#else
    uint8_t min = 0;
    uint8_t max = DRIVER_LED_TOTAL;
    uint8_t max = LED_MATRIX_LED_COUNT;
#endif
    led_matrix_indicators_advanced_kb(min, max);
    led_matrix_indicators_advanced_user(min, max);

M quantum/led_matrix/led_matrix.h => quantum/led_matrix/led_matrix.h +8 -8
@@ 42,15 42,15 @@
#endif

#ifndef LED_MATRIX_LED_PROCESS_LIMIT
#    define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5
#    define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5
#endif

#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL
#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < LED_MATRIX_LED_COUNT
#    if defined(LED_MATRIX_SPLIT)
#        define LED_MATRIX_USE_LIMITS(min, max)                                                   \
            uint8_t min = LED_MATRIX_LED_PROCESS_LIMIT * params->iter;                            \
            uint8_t max = min + LED_MATRIX_LED_PROCESS_LIMIT;                                     \
            if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL;                                   \
            if (max > LED_MATRIX_LED_COUNT) max = LED_MATRIX_LED_COUNT;                           \
            uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT;                                     \
            if (is_keyboard_left() && (max > k_led_matrix_split[0])) max = k_led_matrix_split[0]; \
            if (!(is_keyboard_left()) && (min < k_led_matrix_split[0])) min = k_led_matrix_split[0];


@@ 58,20 58,20 @@
#        define LED_MATRIX_USE_LIMITS(min, max)                        \
            uint8_t min = LED_MATRIX_LED_PROCESS_LIMIT * params->iter; \
            uint8_t max = min + LED_MATRIX_LED_PROCESS_LIMIT;          \
            if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL;
            if (max > LED_MATRIX_LED_COUNT) max = LED_MATRIX_LED_COUNT;
#    endif
#else
#    if defined(LED_MATRIX_SPLIT)
#        define LED_MATRIX_USE_LIMITS(min, max)                                                   \
            uint8_t       min                   = 0;                                              \
            uint8_t       max                   = DRIVER_LED_TOTAL;                               \
            uint8_t       max                   = LED_MATRIX_LED_COUNT;                           \
            const uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT;                               \
            if (is_keyboard_left() && (max > k_led_matrix_split[0])) max = k_led_matrix_split[0]; \
            if (!(is_keyboard_left()) && (min < k_led_matrix_split[0])) min = k_led_matrix_split[0];
#    else
#        define LED_MATRIX_USE_LIMITS(min, max) \
            uint8_t min = 0;                    \
            uint8_t max = DRIVER_LED_TOTAL;
            uint8_t max = LED_MATRIX_LED_COUNT;
#    endif
#endif



@@ 181,9 181,9 @@ static inline bool led_matrix_check_finished_leds(uint8_t led_idx) {
        uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT;
        return led_idx < k_led_matrix_split[0];
    } else
        return led_idx < DRIVER_LED_TOTAL;
        return led_idx < LED_MATRIX_LED_COUNT;
#else
    return led_idx < DRIVER_LED_TOTAL;
    return led_idx < LED_MATRIX_LED_COUNT;
#endif
}


M quantum/led_matrix/led_matrix_drivers.c => quantum/led_matrix/led_matrix_drivers.c +1 -1
@@ 96,7 96,7 @@ static void init(void) {
#        endif
#    endif

    for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
    for (int index = 0; index < LED_MATRIX_LED_COUNT; index++) {
#    if defined(IS31FL3731)
        IS31FL3731_set_led_control_register(index, true);
#    elif defined(IS31FL3733)

M quantum/led_matrix/led_matrix_types.h => quantum/led_matrix/led_matrix_types.h +2 -2
@@ 76,8 76,8 @@ typedef struct PACKED {

typedef struct PACKED {
    uint8_t     matrix_co[MATRIX_ROWS][MATRIX_COLS];
    led_point_t point[DRIVER_LED_TOTAL];
    uint8_t     flags[DRIVER_LED_TOTAL];
    led_point_t point[LED_MATRIX_LED_COUNT];
    uint8_t     flags[LED_MATRIX_LED_COUNT];
} led_config_t;

typedef union {

M quantum/rgb_matrix/animations/jellybean_raindrops_anim.h => quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +1 -1
@@ 13,7 13,7 @@ bool JELLYBEAN_RAINDROPS(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0) {
            jellybean_raindrops_set_color(rand() % DRIVER_LED_TOTAL, params);
            jellybean_raindrops_set_color(rand() % RGB_MATRIX_LED_COUNT, params);
        }
        return false;
    }

M quantum/rgb_matrix/animations/pixel_flow_anim.h => quantum/rgb_matrix/animations/pixel_flow_anim.h +2 -2
@@ 7,7 7,7 @@ RGB_MATRIX_EFFECT(PIXEL_FLOW)

static bool PIXEL_FLOW(effect_params_t* params) {
    // LED state array
    static RGB led[DRIVER_LED_TOTAL];
    static RGB led[RGB_MATRIX_LED_COUNT];

    static uint32_t wait_timer = 0;
    if (wait_timer > g_rgb_timer) {


@@ 21,7 21,7 @@ static bool PIXEL_FLOW(effect_params_t* params) {
    if (params->init) {
        // Clear LEDs and fill the state array
        rgb_matrix_set_color_all(0, 0, 0);
        for (uint8_t j = 0; j < DRIVER_LED_TOTAL; ++j) {
        for (uint8_t j = 0; j < RGB_MATRIX_LED_COUNT; ++j) {
            led[j] = (random8() & 2) ? (RGB){0, 0, 0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v});
        }
    }

M quantum/rgb_matrix/animations/pixel_rain_anim.h => quantum/rgb_matrix/animations/pixel_rain_anim.h +1 -1
@@ 41,7 41,7 @@ static bool PIXEL_RAIN(effect_params_t* params) {

    RGB_MATRIX_USE_LIMITS(led_min, led_max);
    if (g_rgb_timer > wait_timer) {
        rain_pixel(mod8(random8(), DRIVER_LED_TOTAL), params, random8() & 2);
        rain_pixel(mod8(random8(), RGB_MATRIX_LED_COUNT), params, random8() & 2);
    }
    return rgb_matrix_check_finished_leds(led_max);
}

M quantum/rgb_matrix/animations/raindrops_anim.h => quantum/rgb_matrix/animations/raindrops_anim.h +1 -1
@@ 24,7 24,7 @@ bool RAINDROPS(effect_params_t* params) {
    if (!params->init) {
        // Change one LED every tick, make sure speed is not 0
        if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
            raindrops_set_color(random8() % DRIVER_LED_TOTAL, params);
            raindrops_set_color(random8() % RGB_MATRIX_LED_COUNT, params);
        }
    } else {
        for (int i = led_min; i < led_max; i++) {

M quantum/rgb_matrix/rgb_matrix.c => quantum/rgb_matrix/rgb_matrix.c +4 -4
@@ 202,7 202,7 @@ void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {

void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
#if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
    for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++)
    for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++)
        rgb_matrix_set_color(i, red, green, blue);
#else
    rgb_matrix_driver.set_color_all(red, green, blue);


@@ 461,13 461,13 @@ void rgb_matrix_indicators_advanced(effect_params_t *params) {
     * and not sure which would be better. Otherwise, this should be called from
     * rgb_task_render, right before the iter++ line.
     */
#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL
#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < RGB_MATRIX_LED_COUNT
    uint8_t min = RGB_MATRIX_LED_PROCESS_LIMIT * (params->iter - 1);
    uint8_t max = min + RGB_MATRIX_LED_PROCESS_LIMIT;
    if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL;
    if (max > RGB_MATRIX_LED_COUNT) max = RGB_MATRIX_LED_COUNT;
#else
    uint8_t min = 0;
    uint8_t max = DRIVER_LED_TOTAL;
    uint8_t max = RGB_MATRIX_LED_COUNT;
#endif
    rgb_matrix_indicators_advanced_kb(min, max);
    rgb_matrix_indicators_advanced_user(min, max);

M quantum/rgb_matrix/rgb_matrix.h => quantum/rgb_matrix/rgb_matrix.h +8 -8
@@ 47,15 47,15 @@
#endif

#ifndef RGB_MATRIX_LED_PROCESS_LIMIT
#    define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5
#    define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5
#endif

#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL
#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < RGB_MATRIX_LED_COUNT
#    if defined(RGB_MATRIX_SPLIT)
#        define RGB_MATRIX_USE_LIMITS(min, max)                                                   \
            uint8_t min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter;                            \
            uint8_t max = min + RGB_MATRIX_LED_PROCESS_LIMIT;                                     \
            if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL;                                   \
            if (max > RGB_MATRIX_LED_COUNT) max = RGB_MATRIX_LED_COUNT;                           \
            uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT;                                     \
            if (is_keyboard_left() && (max > k_rgb_matrix_split[0])) max = k_rgb_matrix_split[0]; \
            if (!(is_keyboard_left()) && (min < k_rgb_matrix_split[0])) min = k_rgb_matrix_split[0];


@@ 63,20 63,20 @@
#        define RGB_MATRIX_USE_LIMITS(min, max)                        \
            uint8_t min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter; \
            uint8_t max = min + RGB_MATRIX_LED_PROCESS_LIMIT;          \
            if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL;
            if (max > RGB_MATRIX_LED_COUNT) max = RGB_MATRIX_LED_COUNT;
#    endif
#else
#    if defined(RGB_MATRIX_SPLIT)
#        define RGB_MATRIX_USE_LIMITS(min, max)                                                   \
            uint8_t       min                   = 0;                                              \
            uint8_t       max                   = DRIVER_LED_TOTAL;                               \
            uint8_t       max                   = RGB_MATRIX_LED_COUNT;                           \
            const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT;                               \
            if (is_keyboard_left() && (max > k_rgb_matrix_split[0])) max = k_rgb_matrix_split[0]; \
            if (!(is_keyboard_left()) && (min < k_rgb_matrix_split[0])) min = k_rgb_matrix_split[0];
#    else
#        define RGB_MATRIX_USE_LIMITS(min, max) \
            uint8_t min = 0;                    \
            uint8_t max = DRIVER_LED_TOTAL;
            uint8_t max = RGB_MATRIX_LED_COUNT;
#    endif
#endif



@@ 246,9 246,9 @@ static inline bool rgb_matrix_check_finished_leds(uint8_t led_idx) {
        uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT;
        return led_idx < k_rgb_matrix_split[0];
    } else
        return led_idx < DRIVER_LED_TOTAL;
        return led_idx < RGB_MATRIX_LED_COUNT;
#else
    return led_idx < DRIVER_LED_TOTAL;
    return led_idx < RGB_MATRIX_LED_COUNT;
#endif
}


M quantum/rgb_matrix/rgb_matrix_drivers.c => quantum/rgb_matrix/rgb_matrix_drivers.c +3 -3
@@ 106,7 106,7 @@ static void init(void) {
#        endif
#    endif

    for (int index = 0; index < DRIVER_LED_TOTAL; index++) {
    for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
        bool enabled = true;

        // This only caches it for later


@@ 336,13 336,13 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
#    endif

// LED color buffer
LED_TYPE rgb_matrix_ws2812_array[DRIVER_LED_TOTAL];
LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT];

static void init(void) {}

static void flush(void) {
    // Assumes use of RGB_DI_PIN
    ws2812_setleds(rgb_matrix_ws2812_array, DRIVER_LED_TOTAL);
    ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT);
}

// Set an led in the buffer to a color

M quantum/rgb_matrix/rgb_matrix_types.h => quantum/rgb_matrix/rgb_matrix_types.h +2 -2
@@ 78,8 78,8 @@ typedef struct PACKED {

typedef struct PACKED {
    uint8_t     matrix_co[MATRIX_ROWS][MATRIX_COLS];
    led_point_t point[DRIVER_LED_TOTAL];
    uint8_t     flags[DRIVER_LED_TOTAL];
    led_point_t point[RGB_MATRIX_LED_COUNT];
    uint8_t     flags[RGB_MATRIX_LED_COUNT];
} led_config_t;

typedef union {

M users/brandonschlack/rgb_bs.c => users/brandonschlack/rgb_bs.c +1 -1
@@ 98,7 98,7 @@ void rgb_theme_layer(layer_state_t state) {

#ifdef RGB_MATRIX_ENABLE
void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type) {
    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
    for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
        if (!HAS_ANY_FLAGS(g_led_config.flags[i], led_type)) {
            rgb_matrix_set_color( i, red, green, blue );
        }

M users/byungyoonc/saturated_solid_multisplash.h => users/byungyoonc/saturated_solid_multisplash.h +1 -1
@@ 43,7 43,7 @@ static bool saturated_solid_multisplash(effect_params_t* params) {
        RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
        rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
    }
    return led_max < DRIVER_LED_TOTAL;
    return led_max < RGB_MATRIX_LED_COUNT;
}

#   endif   // RGB_MATRIX_CUSTOM_EFFECT_IMPLS

M users/curry/rgb_matrix_user.c => users/curry/rgb_matrix_user.c +2 -2
@@ 131,7 131,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
            uint16_t time = scale16by8(RGBLED_NUM, speed / 8);
            hsv.v         = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
            RGB rgb       = hsv_to_rgb(hsv);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
                    rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
                }


@@ 141,7 141,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
        default:  // Solid Color
        {
            RGB rgb = hsv_to_rgb(hsv);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
                    rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
                }

M users/drashna/rgb/rgb_matrix_stuff.c => users/drashna/rgb/rgb_matrix_stuff.c +2 -2
@@ 20,7 20,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
            uint16_t time = scale16by8(g_rgb_timer, speed / 8);
            hsv.v         = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
            RGB rgb       = hsv_to_rgb(hsv);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
                    RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b);
                }


@@ 30,7 30,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
        default: // Solid Color
        {
            RGB rgb = hsv_to_rgb(hsv);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
                    RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b);
                }

M users/tominabox1/config.h => users/tominabox1/config.h +1 -1
@@ 22,7 22,7 @@
  #ifdef RGB_MATRIX_ENABLE
  #undef RGBLED_NUM
  #define RGBLED_NUM 50
  #define DRIVER_LED_TOTAL RGBLED_NUM
  #define RGB_MATRIX_LED_COUNT RGBLED_NUM
  #endif // RGBL_MATRIX_ENABLE
#endif // KEYBOARD_lazydesigners_dimple


M users/tominabox1/dimple_rgb.c => users/tominabox1/dimple_rgb.c +5 -5
@@ 1,7 1,7 @@
#include "dz60rgb.h"
#include "config.h"
#if defined (dzrgb60_iso)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},


@@ 86,7 86,7 @@ led_config_t g_led_config = { {
} };

#elif defined (dzrgb60_hhkb)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
	{0, H_15,   G_15,   I_15},
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},


@@ 172,7 172,7 @@ led_config_t g_led_config = { {
} };

#elif defined (dzrgb60_hhkb_iso)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
	{0, H_15,   G_15,   I_15},
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},


@@ 258,7 258,7 @@ led_config_t g_led_config = { {
} };

#elif defined (dzrgb60_ansi)
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},


@@ 343,7 343,7 @@ led_config_t g_led_config = { {
} };

#else
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, K_14,   J_14,   L_14},
    {0, K_13,   J_13,   L_13},
    {0, K_12,   J_12,   L_12},

M users/tominabox1/tominabox1.c => users/tominabox1/tominabox1.c +2 -2
@@ 58,7 58,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
            uint16_t time = scale16by8(g_rgb_counters.tick, speed / 8);
            hsv.v         = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
            RGB rgb       = hsv_to_rgb(hsv);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
                    rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
                }


@@ 68,7 68,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode
        default:  // Solid Color
        {
            RGB rgb = hsv_to_rgb(hsv);
            for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) {
            for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
                if (HAS_FLAGS(g_led_config.flags[i], led_type)) {
                    rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
                }