docs(codes): add modifier functions

Refactor and expand codes documentation to include modifier functions.

Closes #330.
This commit is contained in:
Okke Formsma 2020-11-06 21:34:36 +01:00 committed by Pete Johanson
parent 5d04110a58
commit 0d02441abe
6 changed files with 59 additions and 12 deletions

View File

@ -24,6 +24,8 @@ import Table from "@site/src/components/codes/Table";
### Modifiers
The [Modifiers](./modifiers) page includes further information.
<Table group="keyboard-modifiers" />
### Locks

View File

@ -0,0 +1,42 @@
---
title: Modifiers
sidebar_label: Modifiers
hide_title: true
---
import OsLegend from "@site/src/components/codes/OsLegend";
import ToastyContainer from "@site/src/components/codes/ToastyContainer";
import Table from "@site/src/components/codes/Table";
<OsLegend />
<ToastyContainer />
## Modifiers
Modifiers are the special keyboard keys: _shift_, _alt_, _control_ & _GUI_.
Modifiers can be used in two forms within ZMK:
- Modifier [Keys](#modifier-keys) → `LEFT_SHIFT`
- Modifier [Functions](#modifier-functions) → `LS(code)`
<Table group="keyboard-modifiers" />
### Modifier Keys
These act like any other key code.
- e.g. `&kp LEFT_GUI` pushes and releases the left GUI key.
### Modifier Functions
These functions take the form: `XX(code)`
- They _apply_ the modifier to another _code_.
- e.g. `&kp LS(A)` = `LEFT_SHIFT`+`A`
- aka a _shifted_ (capitalized) **A**.
- The _code_ and the _modifier_ are handled _as one_.
- They can be _combined_:
- e.g. `&kp LC(RA(B))` = `LEFT_CONTROL`+`RIGHT_ALT`+`B`
- Some codes _include_ modifiers in their definition.
- e.g. `DOLLAR` = `LS(N4)`

View File

@ -368,12 +368,12 @@ Here is an example simple keymap for the Kyria, with only one 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 | L SHIFT | L SHIFT | | L SHIFT | L SHIFT | N | M | , | . | / | R CTRL |
// | 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 LSHFT &kp LSHFT &kp LSHFT &kp LSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
&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
>;

View File

@ -130,12 +130,12 @@ that defines just one layer for this keymap:
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
// | 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 | L SHIFT | L SHIFT | | L SHIFT | L SHIFT | N | M | , | . | / | R CTRL |
// | 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 LSHFT &kp LSHFT &kp LSHFT &kp LSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
&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
>;
@ -167,12 +167,12 @@ Putting this all together, a complete [`kyria.keymap`](https://github.com/zmkfir
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
// | 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 | L SHIFT | L SHIFT | | L SHIFT | L SHIFT | N | M | , | . | / | R CTRL |
// | 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 LSHFT &kp LSHFT &kp LSHFT &kp LSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RCTRL
&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
>;

View File

@ -29,6 +29,7 @@ module.exports = {
Codes: [
"codes/index",
"codes/keyboard-keypad",
"codes/modifiers",
"codes/editing",
"codes/media",
"codes/applications",

View File

@ -4059,7 +4059,7 @@ export default [
footnotes: {},
},
{
names: ["LEFT_CONTROL", "LCTRL"],
names: ["LEFT_CONTROL", "LCTRL", "LC(code)"],
description: "Left Control",
context: "Keyboard",
clarify: false,
@ -4080,7 +4080,7 @@ export default [
footnotes: {},
},
{
names: ["LEFT_SHIFT", "LSHFT"],
names: ["LEFT_SHIFT", "LSHFT", "LS(code)"],
description: "Left Shift ⇧",
context: "Keyboard",
clarify: false,
@ -4101,7 +4101,7 @@ export default [
footnotes: {},
},
{
names: ["LEFT_ALT", "LALT"],
names: ["LEFT_ALT", "LALT", "LA(code)"],
description: "Left Alt",
context: "Keyboard",
clarify: false,
@ -4125,6 +4125,7 @@ export default [
names: [
"LEFT_GUI",
"LGUI",
"LG(code)",
"LEFT_WIN",
"LWIN",
"LEFT_COMMAND",
@ -4152,7 +4153,7 @@ export default [
footnotes: {},
},
{
names: ["RIGHT_CONTROL", "RCTRL"],
names: ["RIGHT_CONTROL", "RCTRL", "RC(code)"],
description: "Right Control",
context: "Keyboard",
clarify: false,
@ -4173,7 +4174,7 @@ export default [
footnotes: {},
},
{
names: ["RIGHT_SHIFT", "RSHFT"],
names: ["RIGHT_SHIFT", "RSHFT", "RS(code)"],
description: "Right Shift ⇧",
context: "Keyboard",
clarify: false,
@ -4194,7 +4195,7 @@ export default [
footnotes: {},
},
{
names: ["RIGHT_ALT", "RALT"],
names: ["RIGHT_ALT", "RALT", "RA(code)"],
description: "Right Alt",
context: "Keyboard",
clarify: false,
@ -4218,6 +4219,7 @@ export default [
names: [
"RIGHT_GUI",
"RGUI",
"RG(code)",
"RIGHT_WIN",
"RWIN",
"RIGHT_COMMAND",