# 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 #include #include 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