diff options
author | Priyadi Iman Nurcahyo <priyadi@priyadi.net> | 2017-02-11 19:03:18 +0700 |
---|---|---|
committer | Priyadi Iman Nurcahyo <priyadi@priyadi.net> | 2017-02-11 19:03:18 +0700 |
commit | 79de0cd11964e9205654498aa0027510e3c3535e (patch) | |
tree | 5c77e687491eabf1e5b062b47d0989786c03858c /keyboards/handwired/promethium/keymaps | |
parent | 9fc3afbef4b3ecc8568c37f247c3c7f1ec87a4c1 (diff) |
Implement Capslock LED
Diffstat (limited to 'keyboards/handwired/promethium/keymaps')
-rw-r--r-- | keyboards/handwired/promethium/keymaps/priyadi/keymap.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 992a03a417..2a21b4ba77 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -10,6 +10,7 @@ #include "ps2_mouse.h" #include "ps2.h" #include "outputselect.h" +#include "led.h" #define COUNT(x) (sizeof (x) / sizeof (*(x))) // Fillers to make layering clearer @@ -23,6 +24,8 @@ #undef KC_RALT #define KC_RALT MT(MOD_RALT, KC_SLCK) +bool capslock = false; + // glow enum glow_modes { GLOW_NONE, @@ -417,7 +420,7 @@ void led_set_layer_indicator(void) { static uint8_t oldlayer = 255; rgbsps_set(LED_IND_FUNC, 0, 0, 0); - rgbsps_set(LED_IND_NUM, 0, 0, 0); + // rgbsps_set(LED_IND_NUM, 0, 0, 0); rgbsps_set(LED_IND_EMOJI, 0, 0, 0); led_reset(); @@ -438,9 +441,9 @@ void led_set_layer_indicator(void) { case _FUNC: rgbsps_set(LED_IND_FUNC, 15, 0, 0); break; - case _NUM: - rgbsps_set(LED_IND_NUM, 0, 0, 15); - break; + // case _NUM: + // rgbsps_set(LED_IND_NUM, 0, 0, 15); + // break; case _EMOJI: rgbsps_set(LED_IND_EMOJI, 15, 15, 0); break; @@ -992,6 +995,18 @@ void battery_poll(uint8_t level) { rgbsps_send(); } +void led_set_user(uint8_t usb_led) { + bool new_capslock = usb_led & (1<<USB_LED_CAPS_LOCK); + if (new_capslock ^ capslock) { // capslock state is different + if (capslock = new_capslock) { + rgbsps_set(LED_IND_NUM, 15, 0, 0); + } else { + rgbsps_set(LED_IND_NUM, 0, 0, 0); + } + rgbsps_send(); + } +} + void ps2_mouse_init_user() { uint8_t rcv; |