diff options
Diffstat (limited to 'qmk/keyboards/sofle_choc/keymaps/custom/lighting.c')
| -rw-r--r-- | qmk/keyboards/sofle_choc/keymaps/custom/lighting.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c index 525d0c4..9e4001d 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c @@ -25,6 +25,11 @@ void lighting_init(void) { static uint8_t last_flags; +static bool one_shot_alt_flag = 0; + +void oneshot_mods_changed_lighting(uint8_t mods) { + one_shot_alt_flag = mods & MOD_MASK_ALT; +} void housekeeping_task_lighting(void) { @@ -46,11 +51,11 @@ void housekeeping_task_lighting(void) { flags |= 0b001; counter += 1; } - if (get_mods() & MOD_MASK_ALT) { + if (one_shot_alt_flag || (get_mods() & MOD_MASK_ALT)) { flags |= 0b010; counter += 1; } - if (get_mods() & MOD_MASK_SHIFT) { + if ((get_mods() & MOD_MASK_SHIFT) || host_keyboard_led_state().caps_lock) { flags |= 0b100; counter += 1; } |
