docs(codes): add modifier functions
Refactor and expand codes documentation to include modifier functions. Closes #330.
This commit is contained in:
parent
5d04110a58
commit
0d02441abe
6 changed files with 59 additions and 12 deletions
|
@ -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
|
||||
|
|
42
docs/docs/codes/modifiers.mdx
Normal file
42
docs/docs/codes/modifiers.mdx
Normal 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)`
|
|
@ -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
|
||||
>;
|
||||
|
||||
|
|
|
@ -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
|
||||
>;
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ module.exports = {
|
|||
Codes: [
|
||||
"codes/index",
|
||||
"codes/keyboard-keypad",
|
||||
"codes/modifiers",
|
||||
"codes/editing",
|
||||
"codes/media",
|
||||
"codes/applications",
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Add table
Reference in a new issue