Skip to content

Latest commit

 

History

History
58 lines (40 loc) · 1.8 KB

IdleLEDs.md

File metadata and controls

58 lines (40 loc) · 1.8 KB

Kaleidoscope-IdleLEDs

Having LED effects on the keyboard can be exceptionally helpful. However, having the effects - or lights, in general - on all the time, even when the keyboard is otherwise idle, is perhaps not the best. When one leaves the keyboard, locks the computer, what use are the LED effects then?

One could turn them off manually, but... that's too easy to forget, and why do something the firmware could do for us anyway? What if the LEDs turned themselves off after some configurable idle time? Say, if one did not press any keys for the past ten minutes, just shut 'em off.

This is exactly what the IdleLEDs plugin does.

Using the plugin

The plugin comes with reasonable defaults (see below), and can be used out of the box, without any further configuration:

#include <Kaleidoscope.h>
#include <Kaleidoscope-LEDControl.h>
#include <Kaleidoscope-LEDEffect-Rainbow.h>
#include <Kaleidoscope-IdleLEDs.h>

KALEIDOSCOPE_INIT_PLUGINS(LEDControl, IdleLEDs, LEDEffectRainbowWave);

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

Because the plugin needs to know about key events, it is best to make it one of the first plugins, so it can catch all of them, before any other plugin would have a chance to consume key events.

Plugin properties

The plugin provides a single object, IdleLEDs, with the following properties. All times are in seconds.

idle_time_limit

The amount of time that can pass without a single key being pressed, before the plugin considers the keyboard idle, and turns the LEDs off.

Defaults to 600 seconds (10 minutes).

Dependencies

Further reading

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