mirror of https://github.com/zmkfirmware/zmk.git
docs: Update keymaps index intro (#2790)
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
This commit is contained in:
parent
4f72e7cb25
commit
e4885d5d4c
Binary file not shown.
|
Before Width: | Height: | Size: 53 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
|
|
@ -5,22 +5,17 @@ sidebar_label: Keymaps
|
||||||
|
|
||||||
import KeymapExample from "../keymap-example.md";
|
import KeymapExample from "../keymap-example.md";
|
||||||
|
|
||||||
ZMK uses a declarative approach to keymaps instead of using C code for all keymap configuration.
|
ZMK uses a declarative approach to keymaps, using devicetree syntax to configure them in a `<keyboard>.keymap` file.
|
||||||
Right now, ZMK uses the devicetree syntax to declare those keymaps; future work is envisioned for
|
This declarative configuration defines the key mappings, behaviors used within them and the configuration of certain features.
|
||||||
supporting dynamic loading of declarative keymaps, e.g. over USB Mass Storage or via a custom BLE
|
These keymaps can then be updated dynamically/at runtime using the [ZMK Studio](../features/studio.md) feature,
|
||||||
service.
|
which allows keymap modifications over USB or BLE.
|
||||||
|
|
||||||
:::note
|
## Stock and User Keymaps
|
||||||
For advanced users looking to implement custom behaviors for their keymaps, this will be possible
|
|
||||||
in the future by allowing user configs to add to the CMake application built by Zephyr.
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Big Picture
|
|
||||||
|
|
||||||
All keyboard definitions (complete boards or shields) include the _default_ keymap for that keyboard,
|
All keyboard definitions (complete boards or shields) include the _default_ keymap for that keyboard,
|
||||||
so ZMK can produce a "stock" firmware for that keyboard without any further modifications. For users
|
so ZMK can produce a "stock" firmware for that keyboard without any further modifications.
|
||||||
looking to customize their keyboard's behavior, they can copy the stock `.keymap` file into their
|
When users complete the [user setup](../user-setup.mdx), the stock `.keymap` file is copied to the
|
||||||
user config directory, and customize the keymap to their liking.
|
user config directory, which can be used to [customize](../customization.md) the keymap to each user's liking.
|
||||||
|
|
||||||
## Behaviors
|
## Behaviors
|
||||||
|
|
||||||
|
|
@ -40,7 +35,7 @@ Like many mechanical keyboard firmwares, ZMK keymaps are composed of a collectio
|
||||||
minimum of at least one layer that is the default, usually near the bottom of the "layer stack". Each layer
|
minimum of at least one layer that is the default, usually near the bottom of the "layer stack". Each layer
|
||||||
in ZMK contains a set of bindings that bind a certain behavior to a certain key position in that layer.
|
in ZMK contains a set of bindings that bind a certain behavior to a certain key position in that layer.
|
||||||
|
|
||||||
|  |
|
|  |
|
||||||
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|
||||||
| _A simplified diagram showing three layers. The layout of each layer is the same (they all contain four keys), but the behavior bindings within each layer can be different._ |
|
| _A simplified diagram showing three layers. The layout of each layer is the same (they all contain four keys), but the behavior bindings within each layer can be different._ |
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue