usb_led.c 809 B

1234567891011121314151617181920212223242526272829303132
  1. #include "csc027.h"
  2. #include "usb_led.h"
  3. #include "led.h"
  4. #if defined(RGBLIGHT_ENABLE)
  5. # include "custom_rgb.h"
  6. #elif defined(AUDIO_ENABLE)
  7. # include "custom_audio.h"
  8. #endif
  9. #if defined(AUDIO_ENABLE) || defined(RGBLIGHT_ENABLE)
  10. bool led_update_user(led_t new_led) {
  11. static led_t old_led = {
  12. .num_lock = false,
  13. .caps_lock = false,
  14. .scroll_lock = false
  15. };
  16. if(old_led.caps_lock != new_led.caps_lock) {
  17. new_led.caps_lock ? on_usb_led_on() : on_usb_led_off();
  18. } else if(old_led.num_lock != new_led.num_lock) {
  19. new_led.num_lock ? on_usb_led_on() : on_usb_led_off();
  20. } else if(old_led.scroll_lock != new_led.scroll_lock) {
  21. new_led.scroll_lock ? on_usb_led_on() : on_usb_led_off();
  22. }
  23. old_led = new_led;
  24. return true;
  25. }
  26. #endif