Move the documentation to `doc/plugin/Redial.md`, sources under `src/kaleidoscope/plugin/` (appropriately namespaced). This is in preparation of merging plugins into a single monorepo. Signed-off-by: Gergely Nagy <algernon@keyboard.io>pull/389/head
parent
5bc05f54f3
commit
a33f703890
@ -0,0 +1,63 @@
|
|||||||
|
# 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]: https://github.com/keyboardio/Kaleidoscope-Redial/blob/master/examples/Redial/Redial.ino
|
Loading…
Reference in new issue