diff options
| author | Rockman18 <rockman18.spam@gmail.com> | 2019-01-29 01:57:56 +0100 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-01-28 16:57:56 -0800 |
| commit | df251d7a1387390383f12b3ff31d71d7e3de5a42 (patch) | |
| tree | 8b0a5ca2fae4e8567ec857090d42925e3f347010 /quantum/quantum.c | |
| parent | 0f507f01696eae0e8fe808d17a19db3f6d9e2ce4 (diff) | |
| download | qmk_firmware-df251d7a1387390383f12b3ff31d71d7e3de5a42.tar.gz qmk_firmware-df251d7a1387390383f12b3ff31d71d7e3de5a42.zip | |
Backlight - New option : BACKLIGHT_CAPS_LOCK (#4769)
* [BACKLIGHT_CAPS_LOCK_INDICATOR] Use backlight toggling as Caps Lock LED
I've implemented this feature because S65-X doesn't have LED indicators
and the existing led_set_kb(usb_led) function try to use backlight as
indicator but that creates an inconsistency with backlight_config state.
- define `BACKLIGHT_CAPS_LOCK_INDICATOR` to enable Caps Lock indicator
using backlight (for keyboards without dedicated LED)
- Don't turn off LED indicators when suspend because backlight is
already turned off. Else led_set(0) will turn back on backlight.
- Documentation has been updated
* [BACKLIGHT_CAPS_LOCK_INDICATOR] Turn off all LED indicators except Caps Lock if BACKLIGHT_CAPS_LOCK_INDICATOR
* [BACKLIGHT_CAPS_LOCK] Rename BACKLIGHT_CAPS_LOCK_INDICATOR
* [BACKLIGHT_CAPS_LOCK] Use new IS_LED_ON method
Diffstat (limited to 'quantum/quantum.c')
| -rw-r--r-- | quantum/quantum.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index 5d8ffe34e..c1829c768 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c | |||
| @@ -1448,6 +1448,24 @@ void led_set(uint8_t usb_led) | |||
| 1448 | // PORTE &= ~(1<<6); | 1448 | // PORTE &= ~(1<<6); |
| 1449 | // } | 1449 | // } |
| 1450 | 1450 | ||
| 1451 | #if defined(BACKLIGHT_CAPS_LOCK) && defined(BACKLIGHT_ENABLE) | ||
| 1452 | // Use backlight as Caps Lock indicator | ||
| 1453 | uint8_t bl_toggle_lvl = 0; | ||
| 1454 | |||
| 1455 | if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK) && !backlight_config.enable) { | ||
| 1456 | // Turning Caps Lock ON and backlight is disabled in config | ||
| 1457 | // Toggling backlight to the brightest level | ||
| 1458 | bl_toggle_lvl = BACKLIGHT_LEVELS; | ||
| 1459 | } else if (IS_LED_OFF(usb_led, USB_LED_CAPS_LOCK) && backlight_config.enable) { | ||
| 1460 | // Turning Caps Lock OFF and backlight is enabled in config | ||
| 1461 | // Toggling backlight and restoring config level | ||
| 1462 | bl_toggle_lvl = backlight_config.level; | ||
| 1463 | } | ||
| 1464 | |||
| 1465 | // Set level without modify backlight_config to keep ability to restore state | ||
| 1466 | backlight_set(bl_toggle_lvl); | ||
| 1467 | #endif | ||
| 1468 | |||
| 1451 | led_set_kb(usb_led); | 1469 | led_set_kb(usb_led); |
| 1452 | } | 1470 | } |
| 1453 | 1471 | ||
