@ -85,7 +85,7 @@ This example configures a hold-tap that works well for homerow mods:
@@ -85,7 +85,7 @@ This example configures a hold-tap that works well for homerow mods:
@ -19,13 +19,13 @@ The Mod-Tap behavior either acts as a held modifier, or as a tapped keycode.
@@ -19,13 +19,13 @@ The Mod-Tap behavior either acts as a held modifier, or as a tapped keycode.
### Behavior Binding
- Reference: `&mt`
- Parameter #1: The keycode to be sent when activating as a modifier, e.g. `LSHFT`
- Parameter #1: The keycode to be sent when activating as a modifier, e.g. `LSHIFT`
- Parameter #2: The keycode to sent when used as a tap, e.g. `A`, `B`.
@ -12,12 +12,12 @@ By default, sticky keys stay pressed for a second if you don't press any other k
@@ -12,12 +12,12 @@ By default, sticky keys stay pressed for a second if you don't press any other k
### Behavior Binding
- Reference: `&sk`
- Parameter #1: The keycode , e.g. `LSHFT`
- Parameter #1: The keycode , e.g. `LSHIFT`
Example:
```
&sk LSHFT
&sk LSHIFT
```
You can use any keycode that works for `&kp` as parameter to `&sk`:
@ -44,7 +44,7 @@ You can configure a different `release-after-ms` in your keymap:
@@ -44,7 +44,7 @@ You can configure a different `release-after-ms` in your keymap:
### Advanced usage
Sticky keys can be combined; if you tap `&sk LCTRL` and then `&sk LSHFT` and then `&kp A`, the output will be ctrl+shift+a.
Sticky keys can be combined; if you tap `&sk LCTRL` and then `&sk LSHIFT` and then `&kp A`, the output will be ctrl+shift+a.
@ -38,7 +38,7 @@ You can configure a different `release-after-ms` in your keymap:
@@ -38,7 +38,7 @@ You can configure a different `release-after-ms` in your keymap:
### Advanced usage
Sticky layers behave slightly different from sticky keys. They are configured to `quick-release`. This means that the layer is released immediately when another key is pressed. "Normal" sticky keys are not `quick-release`; they are released when the next key is released. This makes it possible to combine sticky layers and sticky keys as such: tap `&sl 1`, tap `&sk LSHFT` on layer 1, tap `&kp A` on base layer to output shift+A.
Sticky layers behave slightly different from sticky keys. They are configured to `quick-release`. This means that the layer is released immediately when another key is pressed. "Normal" sticky keys are not `quick-release`; they are released when the next key is released. This makes it possible to combine sticky layers and sticky keys as such: tap `&sl 1`, tap `&sk LSHIFT` on layer 1, tap `&kp A` on base layer to output shift+A.
@ -70,7 +70,7 @@ In this case, the `A` is actually a define for the raw HID keycode, to make keym
@@ -70,7 +70,7 @@ In this case, the `A` is actually a define for the raw HID keycode, to make keym
For example of a binding that uses two parameters, you can see how "mod-tap" (`mt`) is bound:
```
&mt LSHFT D
&mt LSHIFT D
```
Here, the first parameter is the set of modifiers that should be used for the "hold" behavior, and the second
@ -94,7 +94,7 @@ The top two lines of most keymaps should include:
@@ -94,7 +94,7 @@ The top two lines of most keymaps should include:
The first defines the nodes for all the available behaviors in ZMK, which will be referenced in the behavior bindings. This is how bindings like `&kp` can reference the key press behavior defined with an anchor name of `kp`.
The second include brings in the defines for all the keycodes (e.g. `A`, `N1`, `C_PLAY`) and the modifiers (e.g. `LSHFT`) used for various behavior bindings.
The second include brings in the defines for all the keycodes (e.g. `A`, `N1`, `C_PLAY`) and the modifiers (e.g. `LSHIFT`) used for various behavior bindings.