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 155492b6d5
Drop the V1 plugin API compatibility code
6 years ago
examples/Redial Updated to use the new plugin APIs 7 years ago
src Drop the V1 plugin API compatibility code 6 years ago
.gitignore Initial import 7 years ago
.travis.yml Initial import 7 years ago
COPYING Initial import 7 years ago
Makefile Initial import 7 years ago
README.md Updated to use the new plugin APIs 7 years ago
library.properties Initial import 7 years ago

README.md

Kaleidoscope-Redial

status Build Status

If you ever wanted to just repeat the last key pressed, no matter what it was, this plugin is made for you. It allows you to configure a key that will repeat whatever the last previously pressed key was. Of course, one can limit which keys are remembered...

Using the plugin

To use the plugin, we'll need to enable it, and configure a key to act as the "redial" key. This key should be on the keymap too.

#include <Kaleidoscope.h>
#include <Kaleidoscope-Redial.h>
#include <kaleidoscope-Ranges.h>

enum {
  REDIAL = kaleidoscope::ranges::SAFE_START,
};
#define Key_Redial (Key) {.raw = REDIAL}

// Place Key_Redial somewhere on the keymap...

KALEIDOSCOPE_INIT_PLUGINS(Redial);

void setup() {
  Kaleidoscope.setup();

  Redial.key = Key_Redial;
}

Overrideable plugin methods

bool shouldRemember(Key mapped_key)

If one wants to change what keys the plugin remembers, simply override the kaleidoscope::Redial::shouldRemember function. Whenever a key is to be remembered, this function will be called with the key as argument. It should return true if the key should be remembered (and repeated by Redial), false otherwise.

By default, the plugin will remember alphanumeric keys only.

Plugin properties

The Redial object has only one property, the key to trigger it.

.key

The key to trigger the redial effect. Be aware that whatever key you specify here, will have its action shadowed by the redial functionality. Choose something unused, see the example sketch for one way to do that.

There is no default.

Further reading

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