M builddefs/common_features.mk => builddefs/common_features.mk +4 -8
@@ 317,14 317,10 @@ ifneq ($(strip $(FLASH_DRIVER)), none)
endif
RGBLIGHT_ENABLE ?= no
-VALID_RGBLIGHT_TYPES := WS2812 APA102 custom
-
-ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
- RGBLIGHT_DRIVER ?= custom
-endif
+VALID_RGBLIGHT_TYPES := ws2812 apa102 custom
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
- RGBLIGHT_DRIVER ?= WS2812
+ RGBLIGHT_DRIVER ?= ws2812
ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid RGBLIGHT_DRIVER,RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type)
@@ 338,11 334,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
RGB_KEYCODES_ENABLE := yes
endif
- ifeq ($(strip $(RGBLIGHT_DRIVER)), WS2812)
+ ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812)
WS2812_DRIVER_REQUIRED := yes
endif
- ifeq ($(strip $(RGBLIGHT_DRIVER)), APA102)
+ ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102)
APA102_DRIVER_REQUIRED := yes
endif
M builddefs/show_options.mk => builddefs/show_options.mk +1 -1
@@ 17,7 17,7 @@ HARDWARE_OPTION_NAMES = \
BACKLIGHT_ENABLE \
BACKLIGHT_DRIVER \
RGBLIGHT_ENABLE \
- RGBLIGHT_CUSTOM_DRIVER \
+ RGBLIGHT_DRIVER \
RGB_MATRIX_ENABLE \
RGB_MATRIX_DRIVER \
CIE1931_CURVE \
M data/mappings/info_rules.hjson => data/mappings/info_rules.hjson +1 -0
@@ 35,6 35,7 @@
"PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
"PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
"RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
+ "RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
M data/schemas/keyboard.jsonschema => data/schemas/keyboard.jsonschema +4 -0
@@ 477,6 477,10 @@
}
},
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "driver": {
+ "type": "string",
+ "enum": ["apa102", "custom", "ws2812"]
+ },
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"layers": {
"type": "object",
M docs/feature_rgblight.md => docs/feature_rgblight.md +1 -1
@@ 28,7 28,7 @@ For APA102 LEDs, add the following to your `rules.mk`:
```make
RGBLIGHT_ENABLE = yes
-RGBLIGHT_DRIVER = APA102
+RGBLIGHT_DRIVER = apa102
```
At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these.
M keyboards/capsunlocked/cu75/info.json => keyboards/capsunlocked/cu75/info.json +1 -0
@@ 18,6 18,7 @@
"levels": 8
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 24
},
M keyboards/capsunlocked/cu75/keymaps/default/rules.mk => keyboards/capsunlocked/cu75/keymaps/default/rules.mk +0 -1
@@ 7,7 7,6 @@ NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Disable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Disable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/capsunlocked/cu75/keymaps/iso/rules.mk => keyboards/capsunlocked/cu75/keymaps/iso/rules.mk +0 -1
@@ 7,7 7,6 @@ NKRO_ENABLE = yes
# BACKLIGHT_ENABLE = no # Disable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Disable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = no # If the I2C pullup resistors aren't install this must be disabled
M keyboards/handwired/onekey/keymaps/apa102/rules.mk => keyboards/handwired/onekey/keymaps/apa102/rules.mk +1 -1
@@ 1,2 1,2 @@
RGBLIGHT_ENABLE = yes
-RGBLIGHT_DRIVER = APA102
+RGBLIGHT_DRIVER = apa102
M keyboards/handwired/uthol/rev2/rules.mk => keyboards/handwired/uthol/rev2/rules.mk +0 -1
@@ 6,4 6,3 @@ EXTRAKEY_ENABLE = yes
NKRO_ENABLE = yes
LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
-RGBLIGHT_DRIVER = WS2812
M keyboards/handwired/uthol/rev3/rules.mk => keyboards/handwired/uthol/rev3/rules.mk +0 -1
@@ 9,4 9,3 @@ WPM_ENABLE = yes
EXTRAKEY_ENABLE = yes
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
-RGBLIGHT_DRIVER = WS2812
M keyboards/kprepublic/jj40/keymaps/fun40/rules.mk => keyboards/kprepublic/jj40/keymaps/fun40/rules.mk +0 -4
@@ 13,9 13,5 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes
-RGBLIGHT_CUSTOM_DRIVER = yes
-DISABLE_WS2812 = yes
-
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
M keyboards/kprepublic/jj40/keymaps/waples/rules.mk => keyboards/kprepublic/jj40/keymaps/waples/rules.mk +0 -1
@@ 6,5 6,4 @@ CONSOLE_ENABLE = no
COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
-RGBLIGHT_CUSTOM_DRIVER = yes
KEY_LOCK_ENABLE = yes
M keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk => keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk +0 -1
@@ 10,7 10,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = no # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
TAP_DANCE_ENABLE = yes
M keyboards/lfkeyboards/lfk78/revb/info.json => keyboards/lfkeyboards/lfk78/revb/info.json +1 -0
@@ 18,6 18,7 @@
"levels": 8
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 31
},
M keyboards/lfkeyboards/lfk78/revc/info.json => keyboards/lfkeyboards/lfk78/revc/info.json +1 -0
@@ 18,6 18,7 @@
"levels": 8
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 27
},
M keyboards/lfkeyboards/lfk78/revj/info.json => keyboards/lfkeyboards/lfk78/revj/info.json +1 -0
@@ 18,6 18,7 @@
"levels": 8
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 27
},
M keyboards/lfkeyboards/lfk78/rules.mk => keyboards/lfkeyboards/lfk78/rules.mk +0 -1
@@ 10,7 10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lfkeyboards, not qmk base
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/lfk87/info.json => keyboards/lfkeyboards/lfk87/info.json +3 -0
@@ 12,6 12,9 @@
"driver": "custom",
"levels": 10
},
+ "rgblight": {
+ "driver": "custom"
+ },
"ws2812": {
"pin": "F4"
},
M keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk +0 -1
@@ 10,7 10,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
TAP_DANCE_ENABLE = yes
M keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk +0 -1
@@ 7,7 7,6 @@ NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = yes # Enable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk +0 -1
@@ 10,7 10,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk => keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk +0 -1
@@ 7,7 7,6 @@ NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = yes # Enable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/lfk87/rules.mk => keyboards/lfkeyboards/lfk87/rules.mk +0 -1
@@ 11,7 11,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = yes # Enable RGB underlight
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/lfkpad/info.json => keyboards/lfkeyboards/lfkpad/info.json +1 -0
@@ 9,6 9,7 @@
"device_version": "0.0.1"
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 28
},
M keyboards/lfkeyboards/lfkpad/rules.mk => keyboards/lfkeyboards/lfkpad/rules.mk +0 -1
@@ 9,7 9,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lfkeyboards, not qmk base
AUDIO_ENABLE = no # Audio output
SLEEP_LED_ENABLE = yes
M keyboards/lfkeyboards/mini1800/info.json => keyboards/lfkeyboards/mini1800/info.json +1 -0
@@ 18,6 18,7 @@
"levels": 10
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 26
},
M keyboards/lfkeyboards/mini1800/reva/rules.mk => keyboards/lfkeyboards/mini1800/reva/rules.mk +0 -3
@@ 10,9 10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = yes # Audio output
-
-# RGB code is implemented in lfkeyboards, not WS2812
-RGBLIGHT_CUSTOM_DRIVER = yes
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/mini1800/revc/rules.mk => keyboards/lfkeyboards/mini1800/revc/rules.mk +0 -3
@@ 10,9 10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = yes # Audio output
-
-# RGB code is implemented in lfkeyboards, not WS2812
-RGBLIGHT_CUSTOM_DRIVER = yes
SLEEP_LED_ENABLE = yes
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
M keyboards/lfkeyboards/smk65/revb/info.json => keyboards/lfkeyboards/smk65/revb/info.json +1 -0
@@ 6,6 6,7 @@
"levels": 8
},
"rgblight": {
+ "driver": "custom",
"hue_steps": 10,
"led_count": 20
},
M keyboards/lfkeyboards/smk65/revb/rules.mk => keyboards/lfkeyboards/smk65/revb/rules.mk +0 -1
@@ 3,7 3,6 @@
#
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
AUDIO_ENABLE = no # Audio output
# Extra source files for IS3731 lighting
M keyboards/lfkeyboards/smk65/revf/info.json => keyboards/lfkeyboards/smk65/revf/info.json +1 -0
@@ 5,6 5,7 @@
"processor": "atmega32u4",
"bootloader": "halfkay",
"rgblight": {
+ "driver": "custom",
"led_count": 28
},
"layouts": {
M keyboards/lfkeyboards/smk65/revf/rules.mk => keyboards/lfkeyboards/smk65/revf/rules.mk +0 -1
@@ 2,4 2,3 @@
# change yes to no to disable
#
RGBLIGHT_ENABLE = no # TODO: Enable keyboard RGB underglow
-RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812
M keyboards/matrix/noah/info.json => keyboards/matrix/noah/info.json +1 -0
@@ 9,6 9,7 @@
"device_version": "0.0.1"
},
"rgblight": {
+ "driver": "custom",
"led_count": 7
},
"ws2812": {
M keyboards/matrix/noah/rules.mk => keyboards/matrix/noah/rules.mk +0 -1
@@ 27,7 27,6 @@ NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
RGB_MATRIX_ENABLE = yes
RGBLIGHT_ENABLE = yes
-RGBLIGHT_CUSTOM_DRIVER = yes
WS2812_DRIVER_REQUIRED = yes
CUSTOM_MATRIX = yes
M keyboards/pearl/keymaps/cijanzen/rules.mk => keyboards/pearl/keymaps/cijanzen/rules.mk +0 -1
@@ 6,6 6,5 @@ CONSOLE_ENABLE = no
COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
-RGBLIGHT_CUSTOM_DRIVER = yes
# TAP_DANCE_ENABLE = yes
AUTO_SHIFT_ENABLE = yes
M keyboards/prototypist/oceanographer/rules.mk => keyboards/prototypist/oceanographer/rules.mk +0 -1
@@ 2,5 2,4 @@ OLED_ENABLE = yes
AUDIO_ENABLE = yes
LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
-RGBLIGHT_DRIVER = WS2812
ENCODER_ENABLE = yes
M keyboards/v60_type_r/info.json => keyboards/v60_type_r/info.json +1 -0
@@ 19,6 19,7 @@
"on_state": 0
},
"rgblight": {
+ "driver": "custom",
"led_count": 1
},
"processor": "atmega32u4",
M keyboards/v60_type_r/keymaps/ifohancroft/readme.md => keyboards/v60_type_r/keymaps/ifohancroft/readme.md +1 -1
@@ 7,7 7,7 @@
- Layer 3: An empty layer in-case I need something on-the-fly so I can remap with VIA.
- Layer 4: An empty layer in-case I need something on-the-fly so I can remap with VIA.
-This keymap also sets the polling rate of the keyboard to 1ms, disables the MOUSEKEY, EXTRAKEY, BACKLIGHT, RGBLIGHT and RGBLIGHT_CUSTOM_DRIVER features, and enables the following features:
+This keymap also sets the polling rate of the keyboard to 1ms, disables the MOUSEKEY, EXTRAKEY, BACKLIGHT, and RGBLIGHT features, and enables the following features:
- NKRO (forced on)
- VIA
M keyboards/v60_type_r/keymaps/ifohancroft/rules.mk => keyboards/v60_type_r/keymaps/ifohancroft/rules.mk +0 -1
@@ 2,6 2,5 @@ MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = no
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
-RGBLIGHT_CUSTOM_DRIVER = no
NKRO_ENABLE = yes
VIA_ENABLE = yes=
\ No newline at end of file
M keyboards/v60_type_r/rules.mk => keyboards/v60_type_r/rules.mk +0 -1
@@ 9,7 9,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable the RGB Underglow
-RGBLIGHT_CUSTOM_DRIVER = yes
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes
M keyboards/yandrstudio/buff67v3/rules.mk => keyboards/yandrstudio/buff67v3/rules.mk +0 -1
@@ 12,5 12,4 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-RGBLIGHT_DRIVER = WS2812 # RGB driver support
AUDIO_ENABLE = no # Audio output
M => +1 -1
@@ 1,7 1,7 @@
# Only enable RGBLIGHT on avr boards
ifeq ($(strip $(PLATFORM_KEY)),avr)
# ...that are at least prepared for it
ifdef RGBLIGHT_DRIVER
ifeq ($(strip $(RGBLIGHT_SUPPORTED)),yes)
RGBLIGHT_ENABLE = yes # Enable RGB Underglow
endif
endif