aboutsummaryrefslogtreecommitdiffstats
path: root/users/csc027/usb_led.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/csc027/usb_led.c')
-rw-r--r--users/csc027/usb_led.c32
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 000000000..1418e32ca
--- /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