refactor(docs): Extract keymap examples into their own files
Eases maintenance and promotes reuse.
This commit is contained in:
parent
18079e3bd3
commit
28a4f33ee7
4 changed files with 54 additions and 74 deletions
|
@ -4,6 +4,7 @@ title: New Keyboard Shield
|
||||||
|
|
||||||
import Tabs from '@theme/Tabs';
|
import Tabs from '@theme/Tabs';
|
||||||
import TabItem from '@theme/TabItem';
|
import TabItem from '@theme/TabItem';
|
||||||
|
import KeymapExampleFile from './keymap-example-file.md';
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
@ -355,33 +356,7 @@ Each keyboard should provide an OOTB default keymap to be used when building the
|
||||||
|
|
||||||
Here is an example simple keymap for the Kyria, with only one layer:
|
Here is an example simple keymap for the Kyria, with only one layer:
|
||||||
|
|
||||||
```
|
<KeymapExampleFile/>
|
||||||
#include <behaviors.dtsi>
|
|
||||||
#include <dt-bindings/zmk/keys.h>
|
|
||||||
|
|
||||||
/ {
|
|
||||||
keymap {
|
|
||||||
compatible = "zmk,keymap";
|
|
||||||
|
|
||||||
default_layer {
|
|
||||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
|
||||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
|
||||||
// | SHIFT | Z | X | C | V | B | CTRL+A | CTRL+C | | CTRL+V | CTRL+X | N | M | , | . | / | R CTRL |
|
|
||||||
// | GUI | DEL | RETURN | SPACE | ESCAPE | | RETURN | SPACE | TAB | BSPC | R ALT |
|
|
||||||
bindings = <
|
|
||||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
|
||||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp QUOTE
|
|
||||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LC(A) &kp LC(C) &kp LC(V) &kp LC(X) &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
|
|
||||||
&kp LGUI &kp DEL &kp RET &kp SPACE &kp ESC &kp RET &kp SPACE &kp TAB &kp BSPC &kp RALT
|
|
||||||
>;
|
|
||||||
|
|
||||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
The two `#include` lines at the top of the keymap are required in order to bring in the default set of behaviors to make them available to bind, and to import a set of defines for the key codes, so keymaps can use parameters like `N2` or `K` instead of the raw keycode numeric values.
|
The two `#include` lines at the top of the keymap are required in order to bring in the default set of behaviors to make them available to bind, and to import a set of defines for the key codes, so keymaps can use parameters like `N2` or `K` instead of the raw keycode numeric values.
|
||||||
|
|
|
@ -3,6 +3,9 @@ title: Keymaps & Behaviors
|
||||||
sidebar_label: Keymaps
|
sidebar_label: Keymaps
|
||||||
---
|
---
|
||||||
|
|
||||||
|
import KeymapExample from '../keymap-example.md';
|
||||||
|
import KeymapExampleFile from '../keymap-example-file.md';
|
||||||
|
|
||||||
ZMK uses a declarative approach to keymaps instead of using C code for all keymap configuration.
|
ZMK uses a declarative approach to keymaps instead of using C code for all keymap configuration.
|
||||||
Right now, ZMK uses the devicetree syntax to declare those keymaps; future work is envisioned for
|
Right now, ZMK uses the devicetree syntax to declare those keymaps; future work is envisioned for
|
||||||
supporting dynamic loading of declarative keymaps, e.g. over USB Mass Storage or via a custom BLE
|
supporting dynamic loading of declarative keymaps, e.g. over USB Mass Storage or via a custom BLE
|
||||||
|
@ -121,27 +124,7 @@ Nested under the devicetree root, is the keymap node. The node _name_ itself is
|
||||||
Each layer of your keymap will be nested under the keymap node. Here is a sample
|
Each layer of your keymap will be nested under the keymap node. Here is a sample
|
||||||
that defines just one layer for this keymap:
|
that defines just one layer for this keymap:
|
||||||
|
|
||||||
```
|
<KeymapExample/>
|
||||||
keymap {
|
|
||||||
compatible = "zmk,keymap";
|
|
||||||
|
|
||||||
default_layer {
|
|
||||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
|
||||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
|
||||||
// | SHIFT | Z | X | C | V | B | CTRL+A | CTRL+C | | CTRL+V | CTRL+X | N | M | , | . | / | R CTRL |
|
|
||||||
// | GUI | DEL | RETURN | SPACE | ESCAPE | | RETURN | SPACE | TAB | BSPC | R ALT |
|
|
||||||
bindings = <
|
|
||||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
|
||||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp QUOTE
|
|
||||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LC(A) &kp LC(C) &kp LC(V) &kp LC(X) &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
|
|
||||||
&kp LGUI &kp DEL &kp RET &kp SPACE &kp ESC &kp RET &kp SPACE &kp TAB &kp BSPC &kp RALT
|
|
||||||
>;
|
|
||||||
|
|
||||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
Each layer should have:
|
Each layer should have:
|
||||||
|
|
||||||
|
@ -154,29 +137,4 @@ For the full set of possible behaviors, start at the [Key Press](/docs/behaviors
|
||||||
|
|
||||||
Putting this all together, a complete [`kyria.keymap`](https://github.com/zmkfirmware/zmk/blob/main/app/boards/shields/kyria/kyria.keymap) looks like:
|
Putting this all together, a complete [`kyria.keymap`](https://github.com/zmkfirmware/zmk/blob/main/app/boards/shields/kyria/kyria.keymap) looks like:
|
||||||
|
|
||||||
```
|
<KeymapExampleFile/>
|
||||||
#include <behaviors.dtsi>
|
|
||||||
#include <dt-bindings/zmk/keys.h>
|
|
||||||
|
|
||||||
/ {
|
|
||||||
keymap {
|
|
||||||
compatible = "zmk,keymap";
|
|
||||||
|
|
||||||
default_layer {
|
|
||||||
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
|
||||||
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
|
||||||
// | SHIFT | Z | X | C | V | B | CTRL+A | CTRL+C | | CTRL+V | CTRL+X | N | M | , | . | / | R CTRL |
|
|
||||||
// | GUI | DEL | RETURN | SPACE | ESCAPE | | RETURN | SPACE | TAB | BSPC | R ALT |
|
|
||||||
bindings = <
|
|
||||||
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
|
||||||
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp QUOTE
|
|
||||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LC(A) &kp LC(C) &kp LC(V) &kp LC(X) &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
|
|
||||||
&kp LGUI &kp DEL &kp RET &kp SPACE &kp ESC &kp RET &kp SPACE &kp TAB &kp BSPC &kp RALT
|
|
||||||
>;
|
|
||||||
|
|
||||||
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
26
docs/docs/keymap-example-file.md
Normal file
26
docs/docs/keymap-example-file.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
```
|
||||||
|
#include <behaviors.dtsi>
|
||||||
|
#include <dt-bindings/zmk/keys.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
keymap {
|
||||||
|
compatible = "zmk,keymap";
|
||||||
|
|
||||||
|
default_layer {
|
||||||
|
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||||
|
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||||
|
// | SHIFT | Z | X | C | V | B | CTRL+A | CTRL+C | | CTRL+V | CTRL+X | N | M | , | . | / | R CTRL |
|
||||||
|
// | GUI | DEL | RETURN | SPACE | ESCAPE | | RETURN | SPACE | TAB | BSPC | R ALT |
|
||||||
|
bindings = <
|
||||||
|
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
||||||
|
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp QUOTE
|
||||||
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LC(A) &kp LC(C) &kp LC(V) &kp LC(X) &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
|
||||||
|
&kp LGUI &kp DEL &kp RET &kp SPACE &kp ESC &kp RET &kp SPACE &kp TAB &kp BSPC &kp RALT
|
||||||
|
>;
|
||||||
|
|
||||||
|
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
21
docs/docs/keymap-example.md
Normal file
21
docs/docs/keymap-example.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
```
|
||||||
|
keymap {
|
||||||
|
compatible = "zmk,keymap";
|
||||||
|
|
||||||
|
default_layer {
|
||||||
|
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
// | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||||
|
// | TAB | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||||
|
// | SHIFT | Z | X | C | V | B | CTRL+A | CTRL+C | | CTRL+V | CTRL+X | N | M | , | . | / | R CTRL |
|
||||||
|
// | GUI | DEL | RETURN | SPACE | ESCAPE | | RETURN | SPACE | TAB | BSPC | R ALT |
|
||||||
|
bindings = <
|
||||||
|
&kp ESC &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH
|
||||||
|
&kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp QUOTE
|
||||||
|
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp LC(A) &kp LC(C) &kp LC(V) &kp LC(X) &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
|
||||||
|
&kp LGUI &kp DEL &kp RET &kp SPACE &kp ESC &kp RET &kp SPACE &kp TAB &kp BSPC &kp RALT
|
||||||
|
>;
|
||||||
|
|
||||||
|
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp PG_UP PG_DN>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
Loading…
Reference in a new issue