# LEDEffects The `LEDEffects` plugin provides a selection of LED effects, each of them fairly simple, simple enough to not need a plugin of their own. ## Using the plugin There are a number of different effects included in the package, all of them are available once including the header, and one's free to choose any number of them. ```c++ #include #include KALEIDOSCOPE_INIT_PLUGINS(LEDControl, JukeBoxEffect); void setup() { Kaleidoscope.setup(); } ``` ## Included effects All of these effects will scan the active layers, and apply effects based on what keys are active on each position, thus, it needs no hints or configuration to figure out our layout! ### `MiamiEffect` Applies a color effect to the keyboard, inspired by the popular Miami keyset: ![Miami](extras/MiamiEffect.png) Alphas, punctuation, numbers, the space bar, the numbers and the dot on the keypad, and half the function keys will be in a cyan-ish color, the rest in magenta. ### `JukeboxEffect` Applies a color effect to the keyboard, inspired by the JukeBox keyset: ![Jukebox](extras/JukeboxEffect.png) Alphas, punctuation, numbers, the space bar, the numbers and the dot on the keypad, and half the function keys will be in a beige-ish color, the rest in light green, except for the `Esc` key, which will be in red. An alternative color scheme exists under the `JukeboxAlternateEffect` name, where the light green and red colors are swapped. ### TriColor TriColor is a class that can be used to create LED effects that all follow a similar pattern: alphas and similar in one color; modifiers, special keys, and half the function keys in another, and `Esc` in a third (this latter being optional). If we have a color scheme that follows this pattern, the `TriColor` extension can make it a lot easier to implement it. ## Using the extension Because the extension is part of the `LEDEffects` library, we need to include that header: ```c++ #include ``` Then, we simply create a new instance of the `TriColor` class, with appropriate colors set for the constructor: ```c++ kaleidoscope::plugin::TriColor BlackAndWhiteEffect (CRGB(0x00, 0x00, 0x00), CRGB(0xff, 0xff, 0xff), CRGB(0x80, 0x80, 0x80)); ``` The first argument is the base color, the second is for modifiers and special keys, the last one is for the `Esc` key. If the last one is omitted, the extension will use the modifier color for it. ## Plugin methods The plugin provides a single method on each of the included effect objects: ### `.activate()` > When called, immediately activates the effect. Mostly useful in the `setup()` > method of the Sketch, or in macros that are meant to switch to the selected > effect, no matter where we are in the list. ## Dependencies * [Kaleidoscope-LEDControl](Kaleidoscope-LEDControl.md) ## Further reading Starting from the [example][plugin:example] is the recommended way of getting started with the plugin. [plugin:example]: /examples/LEDs/LEDEffects/LEDEffects.ino