Show sticky keys in a different color

Depends on https://github.com/keyboardio/Kaleidoscope-OneShot/pull/18
pull/389/head
David Glasser 7 years ago
parent 920b265a86
commit 049a057b5e

@ -46,6 +46,10 @@ property:
> The color to use for highlighting the modifiers. Defaults to a white color.
### `.sticky_color`
> The color to use for highlighting one-shot modifiers when they are sticky. Defaults to a red color.
## Dependencies
* [Kaleidoscope-LEDControl](https://github.com/keyboardio/Kaleidoscope-LEDControl)

@ -26,6 +26,8 @@ cRGB ActiveModColorEffect::highlight_color = (cRGB) {
0xff, 0xff, 0xff
};
cRGB ActiveModColorEffect::sticky_color = CRGB(0xff, 0x00, 0x00);
void ActiveModColorEffect::begin(void) {
Kaleidoscope.useLoopHook(loopHook);
}
@ -39,7 +41,9 @@ void ActiveModColorEffect::loopHook(bool is_post_clear) {
Key k = Layer.lookupOnActiveLayer(r, c);
if (::OneShot.isOneShotKey(k)) {
if (::OneShot.isActive(k))
if (::OneShot.isSticky(k))
::LEDControl.setCrgbAt(r, c, sticky_color);
else if (::OneShot.isActive(k))
::LEDControl.setCrgbAt(r, c, highlight_color);
else
::LEDControl.refreshAt(r, c);

@ -29,6 +29,7 @@ class ActiveModColorEffect : public KaleidoscopePlugin {
void begin(void) final;
static cRGB highlight_color;
static cRGB sticky_color;
private:
static void loopHook(bool is_post_clear);

Loading…
Cancel
Save