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 f7196ef26d
Migrate to LED-Palette-Theme
8 years ago
examples/EEPROM-Colormap make astyle 8 years ago
src Migrate to LED-Palette-Theme 8 years ago
.gitignore Initial import 8 years ago
.travis.yml New build infrastructure 8 years ago
COPYING Initial import 8 years ago
Makefile New build infrastructure 8 years ago
README.md Migrate to LED-Palette-Theme 8 years ago
library.properties Initial import 8 years ago

README.md

Kaleidoscope-EEPROM-Colormap

status Build Status

The EEPROM-ColorMap extension provides an easier way to set up a different - static - color map per-layer. This means that we can set up a map of colors for each key, on a per-layer basis, and whenever a layer becomes active, the color map for that layer is applied on top of everything else. The extension supports transparent colors, to make things easier.

Both the palette and the color map is stored in EEPROM, and the palette is limited to 15 colors (with the 16th being the transparent color). The plugin can work together with the Focus plugin, to make it easier to update the palette or the color map itself.

Using the extension

To use the extension, include the header, tell it the number of layers you have, and it will do the rest.

#include <Kaleidoscope.h>
#include <Kaleidoscope-LED-Palette-Theme.h>
#include <Kaleidoscope-EEPROM-Colormap.h>
#include <Kaleidoscope-Focus.h>

void setup (void) {
  Kaleidoscope.setup ();
  USE_PLUGINS (&EEPROMColormapEffect, &Focus);
  
  EEPROMColormapEffect.configure (1);
  Focus.addHook (FOCUS_HOOK_LEDPALETTETHEME);
  Focus.addHook (FOCUS_HOOK_COLORMAP);
}

Extension methods

The extension provides an EEPROMColormapEffect singleton object, with a single method:

.configure(maxLayers)

Tells the extension to reserve space in EEPROM for up to maxLayers layers.

Dependencies

Further reading

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