zmk/docs/docs/behaviors/sticky-key.md
Dom H 06a85f944f docs(codes): Refer to LSHIFT instead of LSHFT
`LSHIFT` is slightly more intuitive and should result in fewer user
errors.
2021-06-08 20:57:40 -04:00

51 lines
1,017 B
Markdown

---
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. `LSHIFT`
Example:
```
&sk LSHIFT
```
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 LSHIFT` and then `&kp A`, the output will be ctrl+shift+a.
### Comparison to QMK
In QMK, sticky keys are known as 'one shot mods'.