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