|
|
|
# LED-ActiveModColor
|
|
|
|
|
|
|
|
With this plugin, any active modifier on the keyboard will have the LED under it
|
|
|
|
highlighted. No matter how the modifier got activated (a key press, a macro,
|
|
|
|
anything else), the coloring will apply. Layer shift keys and OneShot layer keys
|
|
|
|
count as modifiers as far as the plugin is concerned.
|
|
|
|
|
|
|
|
## Using the plugin
|
|
|
|
|
|
|
|
To use the plugin, one needs to include the header, and activate the effect. It
|
|
|
|
is also possible to use a custom color instead of the white default.
|
|
|
|
|
|
|
|
```c++
|
|
|
|
#include <Kaleidoscope.h>
|
|
|
|
#include <Kaleidoscope-LEDControl.h>
|
|
|
|
#include <Kaleidoscope-LED-ActiveModColor.h>
|
|
|
|
|
|
|
|
KALEIDOSCOPE_INIT_PLUGINS(LEDControl,
|
|
|
|
ActiveModColorEffect);
|
|
|
|
|
|
|
|
void setup () {
|
|
|
|
Kaleidoscope.setup ();
|
|
|
|
|
|
|
|
ActiveModColorEffect.highlight_color = CRGB(0x00, 0xff, 0xff);
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
It is recommended to place the activation (the `KALEIDOSCOPE_INIT_PLUGINS` parameter) of the
|
|
|
|
plugin last, so that it can reliably override any other plugins that may work
|
|
|
|
with the LEDs, and apply the highlight over those.
|
|
|
|
|
|
|
|
## Plugin properties
|
|
|
|
|
|
|
|
The plugin provides the `ActiveModColorEffect` object, which has the following
|
|
|
|
configuration methods. These methods all take a `cRGB` object, which can be
|
|
|
|
written as `CRGB(r, g, b)`, where `r`, `g`, and `b` are all 8-bit integers
|
|
|
|
(0-255). For example, `CRGB(50, 0, 50)` would be a purple-ish color.
|
|
|
|
|
|
|
|
### `.setHighlightColor(color)`
|
|
|
|
|
|
|
|
> Sets the color (a `cRGB` object) to use for highlighting normal modifier keys
|
|
|
|
> and layer-shift keys. Defaults to a white color.
|
|
|
|
|
|
|
|
### `.setOneShotColor(color)`
|
|
|
|
|
|
|
|
> Sets the color (a `cRGB` object) to use for highlighting active one-shot
|
|
|
|
> keys. These are the keys that will time out or deactivate when a subsequent
|
|
|
|
> key is pressed. Defaults to a yellow color.
|
|
|
|
|
|
|
|
### `.setStickyColor(color)`
|
|
|
|
|
|
|
|
> Sets the color (a `cRGB` object) to use for highlighting "sticky" one-shot
|
|
|
|
> keys. These keys will remain active until they are pressed again. Defaults to
|
|
|
|
> a red color.
|
|
|
|
|
|
|
|
## Plugin methods
|
|
|
|
|
|
|
|
The `ActiveModColorEffect` object provides the following methods:
|
|
|
|
|
|
|
|
### `.highlightNormalModifiers(bool)`
|
|
|
|
|
|
|
|
> Can be used to enable or disable the highlighting of normal modifiers. Defaults to true.
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
|
|
|
|
* [Kaleidoscope-LEDControl](Kaleidoscope-LEDControl.md)
|
|
|
|
* [Kaleidoscope-OneShot](Kaleidoscope-OneShot.md)
|
|
|
|
* [Kaleidoscope-OneShotMetaKeys](Kaleidoscope-OneShotMetaKeys.md)
|
|
|
|
|
|
|
|
The `ActiveModColorEffect` plugin doesn't require that either OneShot or
|
|
|
|
OneShotMetaKeys plugins are registered with `KALEIDOSCOPE_INIT_PLUGINS()` in
|
|
|
|
order to work, but it does depend on their header files.
|
|
|
|
|
|
|
|
## Further reading
|
|
|
|
|
|
|
|
Starting from the [example][plugin:example] is the recommended way of getting
|
|
|
|
started with the plugin.
|
|
|
|
|
|
|
|
[plugin:example]: /examples/LEDs/LED-ActiveModColor/LED-ActiveModColor.ino
|