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.
64 lines
1.7 KiB
64 lines
1.7 KiB
# Kaleidoscope-Redial
|
|
|
|
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.
|
|
|
|
```c++
|
|
#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][plugin:example] is the recommended way of getting
|
|
started with the plugin.
|
|
|
|
[plugin:example]: ../../examples/Keystrokes/Redial/Redial.ino
|