qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

dropout.c (1064B)


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