Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/docs/main/docs/configuration/appendix.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ MRZ = { normal_mode = true, unilateral_tap = false, hold_timeout = "200ms", gap_
# Combo configuration
[behavior.combo]
timeout = "150ms"
prior_idle_time = "130ms" # optional, prevents accidental triggers during fast typing
combos = [
# Press J and K keys simultaneously to output Escape key
{ actions = ["J", "K"], output = "Escape" }
Expand Down
2 changes: 2 additions & 0 deletions docs/docs/main/docs/configuration/behavior.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ In the `combo` sub-table, you can configure the keyboard's combo key functionali
Combo configuration includes the following parameters:

- `timeout`: Defines the maximum time window for pressing all combo keys. If the time exceeds this, the combo key will not be triggered. The format is a string, which can be milliseconds (e.g. "200ms") or seconds (e.g. "1s").
- `prior_idle_time`: An optional cooldown window after any key press before a combo can start recording. This helps prevent accidental combo triggers during fast typing. The format is a string (e.g. `"130ms"`). If not set, there is no idle check (equivalent to ZMK's `require-prior-idle-ms`).
- `combos`: An array containing all defined combos. Each combo configuration is an object containing the following attributes:
- `actions`: An array of strings defining the keys that need to be pressed simultaneously to trigger the combo action.
- `output`: A string defining the output action to be triggered when all keys in `actions` are pressed simultaneously.
Expand All @@ -81,6 +82,7 @@ Here is an example of combo configuration:
```toml
[behavior.combo]
timeout = "150ms"
prior_idle_time = "130ms" # optional, prevents accidental triggers during fast typing
combos = [
# Press J and K keys simultaneously to output Escape key
{ actions = ["J", "K"], output = "Escape" },
Expand Down