diff options
Diffstat (limited to 'users/csc027/usb_led.c')
-rw-r--r-- | users/csc027/usb_led.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/users/csc027/usb_led.c b/users/csc027/usb_led.c new file mode 100644 index 0000000000..1418e32cad --- /dev/null +++ b/users/csc027/usb_led.c @@ -0,0 +1,32 @@ +#include "csc027.h" +#include "usb_led.h" +#include "led.h" + +#if defined(RGBLIGHT_ENABLE) +# include "custom_rgb.h" +#elif defined(AUDIO_ENABLE) +# include "custom_audio.h" +#endif + +#if defined(AUDIO_ENABLE) || defined(RGBLIGHT_ENABLE) + +bool led_update_user(led_t usb_led) { + static led_t old_usb_led = { + .num_lock = false, + .caps_lock = false, + .scroll_lock = false + }; + + if(old_usb_led.caps_lock != usb_led.caps_lock) { + usb_led.caps_lock ? on_usb_led_on() : on_usb_led_off(); + } else if(old_usb_led.num_lock != usb_led.num_lock) { + usb_led.num_lock ? on_usb_led_on() : on_usb_led_off(); + } else if(old_usb_led.scroll_lock != usb_led.scroll_lock) { + usb_led.scroll_lock ? on_usb_led_on() : on_usb_led_off(); + } + old_usb_led = usb_led; + + return true; +} + +#endif |