summaryrefslogtreecommitdiffstats
path: root/keyboards
diff options
context:
space:
mode:
authorWilba <Jason.S.Williams@gmail.com>2020-01-21 05:18:25 +1100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2020-01-20 10:18:25 -0800
commit484a9b12bc3961fc0dd9481d3cb734959db42191 (patch)
treeca2e4219b6514c1033be3ab3a975bd24f723f2ba /keyboards
parentce81c4f89b61560ee35436b351b27fd23568c32f (diff)
Add VIA support for QMK backlight, QMK RGBLight (#7911)
* Add VIA support for QMK backlight, QMK RGBLight * clang-format changes
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/cannonkeys/an_c/config.h6
-rw-r--r--keyboards/cannonkeys/instant60/config.h6
-rw-r--r--keyboards/cannonkeys/iron165/config.h3
-rw-r--r--keyboards/cannonkeys/satisfaction75/config.h3
-rw-r--r--keyboards/cannonkeys/satisfaction75/led_custom.h2
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c63
-rw-r--r--keyboards/cannonkeys/savage65/config.h6
-rw-r--r--keyboards/cannonkeys/stm32f072/keyboard.c78
-rw-r--r--keyboards/cannonkeys/stm32f072/led_custom.h2
-rw-r--r--keyboards/cannonkeys/tmov2/config.h6
-rw-r--r--keyboards/hs60/v2/config.h2
-rwxr-xr-xkeyboards/nk65/config.h3
-rw-r--r--keyboards/projectkb/alice/config.h6
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/config.h5
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/config.h3
-rw-r--r--keyboards/wilba_tech/rama_works_m6_a/config.h3
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/config.h3
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/config.h3
-rw-r--r--keyboards/wilba_tech/wt60_a/config.h2
-rw-r--r--keyboards/wilba_tech/wt65_a/config.h2
-rw-r--r--keyboards/wilba_tech/wt65_b/config.h2
-rw-r--r--keyboards/wilba_tech/wt75_a/config.h2
-rw-r--r--keyboards/wilba_tech/wt75_b/config.h2
-rw-r--r--keyboards/wilba_tech/wt75_c/config.h2
-rw-r--r--keyboards/wilba_tech/wt80_a/config.h3
-rw-r--r--keyboards/wilba_tech/wt_main.c6
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c6
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c6
-rw-r--r--keyboards/wilba_tech/zeal60/config.h5
-rw-r--r--keyboards/wilba_tech/zeal65/config.h3
-rw-r--r--keyboards/xelus/dawn60/config.h3
31 files changed, 240 insertions, 7 deletions
diff --git a/keyboards/cannonkeys/an_c/config.h b/keyboards/cannonkeys/an_c/config.h
index 55414ba509..6390e07897 100644
--- a/keyboards/cannonkeys/an_c/config.h
+++ b/keyboards/cannonkeys/an_c/config.h
@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
+// Let VIA handle the QMK RGBLIGHT
+#define VIA_QMK_RGBLIGHT_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h
index 2d23d5f83c..4fa76cb883 100644
--- a/keyboards/cannonkeys/instant60/config.h
+++ b/keyboards/cannonkeys/instant60/config.h
@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
+// Let VIA handle the QMK RGBLIGHT
+#define VIA_QMK_RGBLIGHT_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/iron165/config.h b/keyboards/cannonkeys/iron165/config.h
index 640f6fb659..6350514d75 100644
--- a/keyboards/cannonkeys/iron165/config.h
+++ b/keyboards/cannonkeys/iron165/config.h
@@ -54,6 +54,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
index 7a4354c8a7..69d02806e2 100644
--- a/keyboards/cannonkeys/satisfaction75/config.h
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -73,6 +73,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/satisfaction75/led_custom.h b/keyboards/cannonkeys/satisfaction75/led_custom.h
index fe5c9e5dcf..d818b48ce9 100644
--- a/keyboards/cannonkeys/satisfaction75/led_custom.h
+++ b/keyboards/cannonkeys/satisfaction75/led_custom.h
@@ -3,3 +3,5 @@
void backlight_task(void);
void breathing_interrupt_disable(void);
void breathing_interrupt_enable(void);
+void breathing_enable(void);
+void breathing_disable(void);
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
index 0fe09c384f..f92067c98f 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
@@ -55,6 +55,54 @@ backlight_config_t kb_backlight_config = {
};
#ifdef VIA_ENABLE
+
+void backlight_get_value( uint8_t *data )
+{
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+ switch (*value_id)
+ {
+ case id_qmk_backlight_brightness:
+ {
+ // level / BACKLIGHT_LEVELS * 255
+ value_data[0] = ((uint16_t)kb_backlight_config.level) * 255 / BACKLIGHT_LEVELS;
+ break;
+ }
+ case id_qmk_backlight_effect:
+ {
+ value_data[0] = kb_backlight_config.breathing ? 1 : 0;
+ break;
+ }
+ }
+}
+
+void backlight_set_value( uint8_t *data )
+{
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+ switch (*value_id)
+ {
+ case id_qmk_backlight_brightness:
+ {
+ // level / 255 * BACKLIGHT_LEVELS
+ kb_backlight_config.level = ((uint16_t)value_data[0]) * BACKLIGHT_LEVELS / 255;
+ backlight_set(kb_backlight_config.level);
+ break;
+ }
+ case id_qmk_backlight_effect:
+ {
+ if ( value_data[0] == 0 ) {
+ kb_backlight_config.breathing = false;
+ breathing_disable();
+ } else {
+ kb_backlight_config.breathing = true;
+ breathing_enable();
+ }
+ break;
+ }
+ }
+}
+
void raw_hid_receive_kb( uint8_t *data, uint8_t length )
{
uint8_t *command_id = &(data[0]);
@@ -139,6 +187,21 @@ void raw_hid_receive_kb( uint8_t *data, uint8_t length )
}
break;
}
+ case id_lighting_set_value:
+ {
+ backlight_set_value(command_data);
+ break;
+ }
+ case id_lighting_get_value:
+ {
+ backlight_get_value(command_data);
+ break;
+ }
+ case id_lighting_save:
+ {
+ backlight_config_save();
+ break;
+ }
default:
{
// Unhandled message.
diff --git a/keyboards/cannonkeys/savage65/config.h b/keyboards/cannonkeys/savage65/config.h
index b69aba39eb..98ec1067a8 100644
--- a/keyboards/cannonkeys/savage65/config.h
+++ b/keyboards/cannonkeys/savage65/config.h
@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
+// Let VIA handle the QMK RGBLIGHT
+#define VIA_QMK_RGBLIGHT_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/cannonkeys/stm32f072/keyboard.c b/keyboards/cannonkeys/stm32f072/keyboard.c
index bf35a76c18..fdda018fc4 100644
--- a/keyboards/cannonkeys/stm32f072/keyboard.c
+++ b/keyboards/cannonkeys/stm32f072/keyboard.c
@@ -126,8 +126,86 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);;
}
+#ifdef VIA_ENABLE
+void backlight_get_value( uint8_t *data )
+{
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+ switch (*value_id)
+ {
+ case id_qmk_backlight_brightness:
+ {
+ // level / BACKLIGHT_LEVELS * 255
+ value_data[0] = ((uint16_t)kb_backlight_config.level) * 255 / BACKLIGHT_LEVELS;
+ break;
+ }
+ case id_qmk_backlight_effect:
+ {
+ value_data[0] = kb_backlight_config.breathing ? 1 : 0;
+ break;
+ }
+ }
+}
+void backlight_set_value( uint8_t *data )
+{
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+ switch (*value_id)
+ {
+ case id_qmk_backlight_brightness:
+ {
+ // level / 255 * BACKLIGHT_LEVELS
+ kb_backlight_config.level = ((uint16_t)value_data[0]) * BACKLIGHT_LEVELS / 255;
+ backlight_set(kb_backlight_config.level);
+ break;
+ }
+ case id_qmk_backlight_effect:
+ {
+ if ( value_data[0] == 0 ) {
+ kb_backlight_config.breathing = false;
+ breathing_disable();
+ } else {
+ kb_backlight_config.breathing = true;
+ breathing_enable();
+ }
+ break;
+ }
+ }
+}
+
+void raw_hid_receive_kb( uint8_t *data, uint8_t length )
+{
+ uint8_t *command_id = &(data[0]);
+ uint8_t *command_data = &(data[1]);
+ switch ( *command_id )
+ {
+ case id_lighting_set_value:
+ {
+ backlight_set_value(command_data);
+ break;
+ }
+ case id_lighting_get_value:
+ {
+ backlight_get_value(command_data);
+ break;
+ }
+ case id_lighting_save:
+ {
+ backlight_config_save();
+ break;
+ }
+ default:
+ {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ // DO NOT call raw_hid_send(data,length) here, let caller do this
+}
+#endif
//
// In the case of VIA being disabled, we still need to check if
diff --git a/keyboards/cannonkeys/stm32f072/led_custom.h b/keyboards/cannonkeys/stm32f072/led_custom.h
index 28e0f02ed3..550d5b84cc 100644
--- a/keyboards/cannonkeys/stm32f072/led_custom.h
+++ b/keyboards/cannonkeys/stm32f072/led_custom.h
@@ -4,3 +4,5 @@ void backlight_task(void);
void breathing_interrupt_disable(void);
void breathing_interrupt_enable(void);
void breathing_toggle(void);
+void breathing_enable(void);
+void breathing_disable(void);
diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h
index d5f1d07884..159382fbcb 100644
--- a/keyboards/cannonkeys/tmov2/config.h
+++ b/keyboards/cannonkeys/tmov2/config.h
@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
+// Let VIA handle the QMK RGBLIGHT
+#define VIA_QMK_RGBLIGHT_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/hs60/v2/config.h b/keyboards/hs60/v2/config.h
index 91fdf60809..42d10bdb52 100644
--- a/keyboards/hs60/v2/config.h
+++ b/keyboards/hs60/v2/config.h
@@ -138,3 +138,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/nk65/config.h b/keyboards/nk65/config.h
index 767959b626..46450a14c8 100755
--- a/keyboards/nk65/config.h
+++ b/keyboards/nk65/config.h
@@ -141,3 +141,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/projectkb/alice/config.h b/keyboards/projectkb/alice/config.h
index 4a068a8893..94c1fd16d6 100644
--- a/keyboards/projectkb/alice/config.h
+++ b/keyboards/projectkb/alice/config.h
@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
+
+// Let VIA handle the QMK RGBLIGHT
+#define VIA_QMK_RGBLIGHT_ENABLE
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/wilba_tech/rama_works_koyu/config.h b/keyboards/wilba_tech/rama_works_koyu/config.h
index 9cbbd6620b..7f945b4a4a 100644
--- a/keyboards/wilba_tech/rama_works_koyu/config.h
+++ b/keyboards/wilba_tech/rama_works_koyu/config.h
@@ -121,4 +121,7 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 \ No newline at end of file
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/rama_works_m60_a/config.h b/keyboards/wilba_tech/rama_works_m60_a/config.h
index 8381a4db00..849d1a4615 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m60_a/config.h
@@ -119,3 +119,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/rama_works_m6_a/config.h b/keyboards/wilba_tech/rama_works_m6_a/config.h
index 1a61604bb4..cbb75e289c 100644
--- a/keyboards/wilba_tech/rama_works_m6_a/config.h
+++ b/keyboards/wilba_tech/rama_works_m6_a/config.h
@@ -109,3 +109,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 43
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/rama_works_m6_b/config.h b/keyboards/wilba_tech/rama_works_m6_b/config.h
index 3ebfd80dab..1af1cf694b 100644
--- a/keyboards/wilba_tech/rama_works_m6_b/config.h
+++ b/keyboards/wilba_tech/rama_works_m6_b/config.h
@@ -152,3 +152,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 43
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/rama_works_u80_a/config.h b/keyboards/wilba_tech/rama_works_u80_a/config.h
index 748b2cb291..2523b962e7 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/config.h
+++ b/keyboards/wilba_tech/rama_works_u80_a/config.h
@@ -235,3 +235,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt60_a/config.h b/keyboards/wilba_tech/wt60_a/config.h
index 269afbcb8b..e07b911661 100644
--- a/keyboards/wilba_tech/wt60_a/config.h
+++ b/keyboards/wilba_tech/wt60_a/config.h
@@ -204,3 +204,5 @@
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt65_a/config.h b/keyboards/wilba_tech/wt65_a/config.h
index ad4c120f4d..bf19fe38cc 100644
--- a/keyboards/wilba_tech/wt65_a/config.h
+++ b/keyboards/wilba_tech/wt65_a/config.h
@@ -201,3 +201,5 @@
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt65_b/config.h b/keyboards/wilba_tech/wt65_b/config.h
index f98fa4e729..d74275a287 100644
--- a/keyboards/wilba_tech/wt65_b/config.h
+++ b/keyboards/wilba_tech/wt65_b/config.h
@@ -201,3 +201,5 @@
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt75_a/config.h b/keyboards/wilba_tech/wt75_a/config.h
index 0c0a2ff082..9b058eec41 100644
--- a/keyboards/wilba_tech/wt75_a/config.h
+++ b/keyboards/wilba_tech/wt75_a/config.h
@@ -204,3 +204,5 @@
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt75_b/config.h b/keyboards/wilba_tech/wt75_b/config.h
index 0c7b3dbfad..d22ac97e02 100644
--- a/keyboards/wilba_tech/wt75_b/config.h
+++ b/keyboards/wilba_tech/wt75_b/config.h
@@ -204,3 +204,5 @@
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt75_c/config.h b/keyboards/wilba_tech/wt75_c/config.h
index b84f2444d8..08b3c2ec49 100644
--- a/keyboards/wilba_tech/wt75_c/config.h
+++ b/keyboards/wilba_tech/wt75_c/config.h
@@ -204,3 +204,5 @@
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt80_a/config.h b/keyboards/wilba_tech/wt80_a/config.h
index b706956ef9..5916970159 100644
--- a/keyboards/wilba_tech/wt80_a/config.h
+++ b/keyboards/wilba_tech/wt80_a/config.h
@@ -200,3 +200,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 7
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/wt_main.c b/keyboards/wilba_tech/wt_main.c
index 1ad12ee4a5..32721b654e 100644
--- a/keyboards/wilba_tech/wt_main.c
+++ b/keyboards/wilba_tech/wt_main.c
@@ -123,17 +123,17 @@ void raw_hid_receive_kb(uint8_t *data, uint8_t length) {
switch ( *command_id )
{
#if RGB_BACKLIGHT_ENABLED || MONO_BACKLIGHT_ENABLED
- case id_backlight_config_set_value:
+ case id_lighting_set_value:
{
backlight_config_set_value(command_data);
break;
}
- case id_backlight_config_get_value:
+ case id_lighting_get_value:
{
backlight_config_get_value(command_data);
break;
}
- case id_backlight_config_save:
+ case id_lighting_save:
{
backlight_config_save();
break;
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index daf738da2e..fbc3102e8c 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -26,9 +26,13 @@
#include "quantum/color.h"
#include "tmk_core/common/eeprom.h"
-#include "via.h" // uses only the EEPROM address
+#include "via.h" // uses EEPROM address, lighting value IDs
#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
+#if VIA_EEPROM_CUSTOM_CONFIG_SIZE == 0
+#error VIA_EEPROM_CUSTOM_CONFIG_SIZE was not defined to store backlight_config struct
+#endif
+
#include "drivers/issi/is31fl3736.h"
#define ISSI_ADDR_DEFAULT 0x50
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index babb844d26..4af8e15e3a 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -50,9 +50,13 @@ LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL];
#include "quantum/color.h"
#include "tmk_core/common/eeprom.h"
-#include "via.h" // uses only the EEPROM address
+#include "via.h" // uses EEPROM address, lighting value IDs
#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
+#if VIA_EEPROM_CUSTOM_CONFIG_SIZE == 0
+#error VIA_EEPROM_CUSTOM_CONFIG_SIZE was not defined to store backlight_config struct
+#endif
+
#if defined(RGB_BACKLIGHT_M6_B)
#include "drivers/issi/is31fl3218.h"
#define BACKLIGHT_LED_COUNT 6
diff --git a/keyboards/wilba_tech/zeal60/config.h b/keyboards/wilba_tech/zeal60/config.h
index cb2f6a96bd..9e2badd2ad 100644
--- a/keyboards/wilba_tech/zeal60/config.h
+++ b/keyboards/wilba_tech/zeal60/config.h
@@ -117,4 +117,7 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31 \ No newline at end of file
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/wilba_tech/zeal65/config.h b/keyboards/wilba_tech/zeal65/config.h
index 01649d76fe..df32aff77c 100644
--- a/keyboards/wilba_tech/zeal65/config.h
+++ b/keyboards/wilba_tech/zeal65/config.h
@@ -118,3 +118,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE \ No newline at end of file
diff --git a/keyboards/xelus/dawn60/config.h b/keyboards/xelus/dawn60/config.h
index 7691bb301f..59eb828fa6 100644
--- a/keyboards/xelus/dawn60/config.h
+++ b/keyboards/xelus/dawn60/config.h
@@ -140,3 +140,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
+
+// VIA lighting is handled by the keyboard-level code
+#define VIA_CUSTOM_LIGHTING_ENABLE