docs(sticky keys): document sticky keys and sticky layers
This commit is contained in:
parent
e8aa576781
commit
89567d3150
3 changed files with 98 additions and 0 deletions
51
docs/docs/behaviors/sticky-key.md
Normal file
51
docs/docs/behaviors/sticky-key.md
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
---
|
||||||
|
title: Sticky Key Behavior
|
||||||
|
sidebar_label: Sticky Key
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
A sticky key stays pressed until another key is pressed. It is often used for 'sticky shift'. By using a sticky shift, you don't have to hold the shift key to write a capital.
|
||||||
|
|
||||||
|
By default, sticky keys stay pressed for a second if you don't press any other key. You can configure this with the `release-after-ms` setting (see below).
|
||||||
|
|
||||||
|
### Behavior Binding
|
||||||
|
|
||||||
|
- Reference: `&sk`
|
||||||
|
- Parameter #1: The keycode , e.g. `LSHFT`
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
&sk LSHFT
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use any keycode that works for `&kp` as parameter to `&sk`:
|
||||||
|
|
||||||
|
```
|
||||||
|
&sk LG(LS(LA(LCTRL)))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
You can configure a different `release-after-ms` in your keymap:
|
||||||
|
|
||||||
|
```
|
||||||
|
&sk {
|
||||||
|
release-after-ms = <2000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
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.
|
||||||
|
|
||||||
|
### Comparison to QMK
|
||||||
|
|
||||||
|
In QMK, sticky keys are known as 'one shot mods'.
|
45
docs/docs/behaviors/sticky-layer.md
Normal file
45
docs/docs/behaviors/sticky-layer.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
---
|
||||||
|
title: Sticky Layer Behavior
|
||||||
|
sidebar_label: Sticky Layer
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
A sticky layer stays pressed until another key is pressed. By using a sticky layer, you don't have to hold the layer key to access a layer. Instead, tap the sticky layer key to activate the layer until the next keypress.
|
||||||
|
|
||||||
|
By default, sticky layers stay pressed for a second if you don't press any other key. You can configure this with the `release-after-ms` setting (see below).
|
||||||
|
|
||||||
|
### Behavior Binding
|
||||||
|
|
||||||
|
- Reference: `&sl`
|
||||||
|
- Parameter #1: The layer to activate , e.g. `1`
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
&sl 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
You can configure a different `release-after-ms` in your keymap:
|
||||||
|
|
||||||
|
```
|
||||||
|
&sl {
|
||||||
|
release-after-ms = <2000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/ {
|
||||||
|
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.
|
||||||
|
|
||||||
|
### Comparison to QMK
|
||||||
|
|
||||||
|
In QMK, sticky layers are known as 'one shot layers'.
|
|
@ -21,6 +21,8 @@ module.exports = {
|
||||||
"behaviors/misc",
|
"behaviors/misc",
|
||||||
"behaviors/hold-tap",
|
"behaviors/hold-tap",
|
||||||
"behaviors/mod-tap",
|
"behaviors/mod-tap",
|
||||||
|
"behaviors/sticky-key",
|
||||||
|
"behaviors/sticky-layer",
|
||||||
"behaviors/reset",
|
"behaviors/reset",
|
||||||
"behaviors/bluetooth",
|
"behaviors/bluetooth",
|
||||||
"behaviors/outputs",
|
"behaviors/outputs",
|
||||||
|
|
Loading…
Reference in a new issue