# FingerPainter

The `FingerPainter` plugin provides an elaborate `LED` mode, in which one's able
to paint with their fingers: when edit mode is toggled on, keys will - instead
of performing their normal function - cycle through the global palette - as
provided by the [LED-Palette-Theme][plugin:l-p-t] plugin -, one by one for each tap.

This allows us to edit the theme with the keyboard only, without any special
software (except to toggle edit mode on and off).

## Using the plugin

To use the plugin, just include the header, add it to the list of used plugins.

```c++
#include <Kaleidoscope.h>
#include <Kaleidoscope-LEDControl.h>
#include <Kaleidoscope-LED-Palette-Theme.h>
#include <Kaleidoscope-EEPROM-Settings.h>
#include <Kaleidoscope-FingerPainter.h>
#include <Kaleidoscope-FocusSerial.h>

KALEIDOSCOPE_INIT_PLUGINS(LEDControl,
                          EEPromSettings,
                          LEDPaletteTheme,
                          FingerPainter,
                          Focus);

void setup() {
  Kaleidoscope.setup();
}
```

## Plugin methods

The plugin provides the `FingerPainter` object, which provides no public methods.

## Focus commands

### `fingerpainter.clear`

> Clears the canvas, so that one can start a new painting.

### `fingerpainter.toggle`

> Toggles the painting mode on and off.

## Dependencies

* [Kaleidoscope-EEPROM-Settings](EEPROM-Settings.md)
* [Kaleidoscope-FocusSerial](FocusSerial.md)
* [Kaleidoscope-LED-Palette-Theme][plugin:l-p-t]
* [Kaleidoscope-LEDControl](LEDControl.md)

  [plugin:l-p-t]: LED-Palette-Theme.md

## Further reading

Starting from the [example][plugin:example] is the recommended way of getting
started with the plugin.

  [plugin:example]: ../../examples/LEDs/FingerPainter/FingerPainter.ino