dropout.c 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2025 Enoch Chau <enoch965@gmail.com>
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "quantum.h"
  4. // Mimic handle_backlight_caps_lock to use num lock indicator for backlight
  5. void handle_backlight_num_lock(led_t led_state) {
  6. // Use backlight as num_lock indicator
  7. uint8_t bl_toggle_lvl = 0;
  8. bool backlight_enabled = is_backlight_enabled();
  9. if (led_state.num_lock && !backlight_enabled) {
  10. // Turning num_lock ON and backlight is disabled in config
  11. // Toggling backlight to the brightest level
  12. bl_toggle_lvl = BACKLIGHT_LEVELS;
  13. } else if (!led_state.num_lock && backlight_enabled) {
  14. // Turning num_lock OFF and backlight is enabled in config
  15. // Toggling backlight and restoring config level
  16. bl_toggle_lvl = get_backlight_level();
  17. }
  18. backlight_set(bl_toggle_lvl);
  19. }
  20. bool led_update_kb(led_t led_state) {
  21. bool res = led_update_user(led_state);
  22. if (res) {
  23. #ifdef BACKLIGHT_ENABLE
  24. handle_backlight_num_lock(led_state);
  25. #endif
  26. }
  27. return res;
  28. }