~ruther/qmk_firmware

d949932c08db8e52f117f799280b5dc0b60bac85 — Ryan 5 years ago 2f9eb4c
Fix ChibiOS backlight not turning off on suspend (#10114)

* Fix ChibiOS backlight not turning off on suspend

* Add missing code for backlight as caps lock too
1 files changed, 16 insertions(+), 0 deletions(-)

M tmk_core/common/chibios/suspend.c
M tmk_core/common/chibios/suspend.c => tmk_core/common/chibios/suspend.c +16 -0
@@ 9,6 9,7 @@
#include "mousekey.h"
#include "host.h"
#include "suspend.h"
#include "led.h"
#include "wait.h"

#ifdef BACKLIGHT_ENABLE


@@ 47,6 48,20 @@ __attribute__((weak)) void suspend_power_down_kb(void) { suspend_power_down_user
 * FIXME: needs doc
 */
void suspend_power_down(void) {
#ifdef BACKLIGHT_ENABLE
    backlight_set(0);
#endif

    // Turn off LED indicators
    uint8_t leds_off = 0;
#if defined(BACKLIGHT_CAPS_LOCK) && defined(BACKLIGHT_ENABLE)
    if (is_backlight_enabled()) {
        // Don't try to turn off Caps Lock indicator as it is backlight and backlight is already off
        leds_off |= (1 << USB_LED_CAPS_LOCK);
    }
#endif
    led_set(leds_off);

    // TODO: figure out what to power down and how
    // shouldn't power down TPM/FTM if we want a breathing LED
    // also shouldn't power down USB


@@ 119,6 134,7 @@ void suspend_wakeup_init(void) {
#ifdef BACKLIGHT_ENABLE
    backlight_init();
#endif /* BACKLIGHT_ENABLE */
    led_set(host_keyboard_leds());
#if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
    is_suspended = false;
    if (rgblight_enabled) {