|
|
|
# LayerFocus
|
|
|
|
|
|
|
|
The `LayerFocus` plugin exposes a number of layer-related commands via
|
|
|
|
[Focus][plugin:focus], to allow controlling layers from the host side.
|
|
|
|
|
|
|
|
[plugin:focus]: Kaleidoscope-FocusSerial.md
|
|
|
|
|
|
|
|
## Using the plugin
|
|
|
|
|
|
|
|
To use the plugin, we need to include the header, and let the firmware know we
|
|
|
|
want to use it:
|
|
|
|
|
|
|
|
```c++
|
|
|
|
#include <Kaleidoscope.h>
|
|
|
|
#include <Kaleidoscope-FocusSerial.h>
|
|
|
|
#include <Kaleidoscope-LayerFocus.h>
|
|
|
|
|
|
|
|
KALEIDOSCOPE_INIT_PLUGINS(
|
|
|
|
Focus,
|
|
|
|
LayerFocus
|
|
|
|
);
|
|
|
|
```
|
|
|
|
|
|
|
|
## Focus commands
|
|
|
|
|
|
|
|
The plugin provides the following Focus commands:
|
|
|
|
|
|
|
|
### `layer.activate N` / `layer.deactivate N` / `layer.isActive N`
|
|
|
|
|
|
|
|
> Activates, deactivates, or queries the state of layer `N`.
|
|
|
|
|
|
|
|
### `layer.moveTo N`
|
|
|
|
|
|
|
|
> Moves to layer `N`, deactivating all other layers in the process.
|
|
|
|
|
|
|
|
### `layer.state [STATE...]`
|
|
|
|
|
|
|
|
> Without arguments, display the state of all layers, from lower to higher. Each
|
|
|
|
> active layer will be represented by `1`, while inactive layers will be
|
|
|
|
> represented by `0`.
|
|
|
|
>
|
|
|
|
> With arguments, override the state of layers with the `STATE` given.
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
|
|
|
|
* [Kaleidoscope-FocusSerial](Kaleidoscope-FocusSerial.md)
|