diff options
Diffstat (limited to 'tmk_core/common/backlight.c')
-rw-r--r-- | tmk_core/common/backlight.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tmk_core/common/backlight.c b/tmk_core/common/backlight.c index d03bfe931b..4d2491b988 100644 --- a/tmk_core/common/backlight.c +++ b/tmk_core/common/backlight.c @@ -61,6 +61,8 @@ void backlight_decrease(void) void backlight_toggle(void) { backlight_config.enable ^= 1; + if (backlight_config.raw == 1) // enabled but level = 0 + backlight_config.level = 1; eeconfig_update_backlight(backlight_config.raw); dprintf("backlight toggle: %u\n", backlight_config.enable); backlight_set(backlight_config.enable ? backlight_config.level : 0); @@ -81,7 +83,9 @@ void backlight_step(void) void backlight_level(uint8_t level) { - backlight_config.level ^= level; + if (level > BACKLIGHT_LEVELS) + level = BACKLIGHT_LEVELS; + backlight_config.level = level; backlight_config.enable = !!backlight_config.level; eeconfig_update_backlight(backlight_config.raw); backlight_set(backlight_config.level); |