diff options
author | Thorben <[email protected]> | 2020-11-25 18:10:42 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-11-25 09:10:42 -0800 |
commit | 50611bd814beb4127378000ff398eaa475527cc5 (patch) | |
tree | ec22d38d9342cd71ae615740c86aa97e4f4c9408 /keyboards/idb/idb_60/idb_60.c | |
parent | 86b0acbae0cc2ad85026f3343624d9aa1788e41a (diff) | |
download | qmk_firmware-50611bd814beb4127378000ff398eaa475527cc5.tar.gz qmk_firmware-50611bd814beb4127378000ff398eaa475527cc5.zip |
[Keyboard] Fixes fox idb_60 keyboard (#10827)
* Fixed VIA keymap build warning on gcc 10.2.0, Fixed misleading LED function names, Fixed formatting
* Fix: Allow layer LED indicators to be overriden on the keymap level
* Implemented suggested change from led_set_kb callback to led_update_kb callback
* Apply suggestions from code review
Co-authored-by: Ryan <[email protected]>
* Update keyboards/idb/idb_60/idb_60.c
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Diffstat (limited to 'keyboards/idb/idb_60/idb_60.c')
-rw-r--r-- | keyboards/idb/idb_60/idb_60.c | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/keyboards/idb/idb_60/idb_60.c b/keyboards/idb/idb_60/idb_60.c index a86606425e..1ca4b8796f 100644 --- a/keyboards/idb/idb_60/idb_60.c +++ b/keyboards/idb/idb_60/idb_60.c @@ -5,17 +5,6 @@ void keyboard_pre_init_kb(void) { setPinOutput(C5); } -void led_set_kb(uint8_t usb_led) { - - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - _idb_60_caps_led_on(); - } else { - _idb_60_caps_led_off(); - } - - led_set_user(usb_led); -} - inline void _idb_60_caps_led_on(void) { writePinLow(C5); } @@ -31,3 +20,28 @@ inline void _idb_60_caps_led_off(void) { inline void _idb_60_fn_led_off(void) { writePinHigh(C4); } + +// Capslock LED indicator + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + if (led_state.caps_lock) { + _idb_60_caps_led_on(); + } else { + _idb_60_caps_led_off(); + } + } + return res; +} + +// Layer LED indicator - drive LED when not on base layer + +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { + if (get_highest_layer(state) == 0) { + _idb_60_fn_led_off(); + } else { + _idb_60_fn_led_on(); + } + return state; +} |