Firmware for the Keyboardio Model 01 and other keyboards with AVR or ARM MCUs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Gergely Nagy 71a956e3f2
Updated to use the new plugin APIs
6 years ago
examples/FingerPainter Updated to use the new plugin APIs 6 years ago
src Updated to use the new plugin APIs 6 years ago
.gitignore Initial import 8 years ago
.travis.yml New build infrastructure 7 years ago
COPYING Initial import 8 years ago
Makefile Update Makefile with OSX fixes and new paths 7 years ago
README.md Updated to use the new plugin APIs 6 years ago
library.properties Initial import 8 years ago

README.md

Kaleidoscope-FingerPainter

status Build Status

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 -, 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, and register the Focus hooks:

#include <Kaleidoscope.h>
#include <Kaleidoscope-LEDControl.h>
#include <Kaleidoscope-LED-Palette-Theme.h>
#include <Kaleidoscope-EEPROM-Settings.h>
#include <Kaleidoscope-FingerPainter.h>
#include <Kaleidoscope-Focus.h>

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

void setup() {
  Kaleidoscope.setup();

  EEPROMSettings.seal();

  Focus.addHook(FOCUS_HOOK_FINGERPAINTER);
}

Plugin methods

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

Focus commands

The plugin provides a single Focus hook: FOCUS_HOOK_FINGERPAINTER, which in turn provides the following commands:

fingerpainter.clear

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

fingerpainter.toggle

Toggles the painting mode on and off.

Dependencies

Further reading

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