zmk_mf68/docs/docs/config/combos.md

2.6 KiB

title sidebar_label
Combo Configuration Combos

See the Combos feature page for more details and examples.

See Configuration Overview for instructions on how to change these settings.

Kconfig

Definition file: zmk/app/Kconfig

Config Type Description Default
CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS int Maximum number of combos that can be active at the same time 4
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY int Maximum number of active combos that use the same key position 5
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO int Maximum number of keys to press to activate a combo 4

If CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY is 5, you can have 5 separate combos that use position 0, 5 combos that use position 1, and so on.

If you want a combo that triggers when pressing 5 keys, you must set CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO to 5.

Devicetree

Applies to: compatible = "zmk,combo"

Definition file: zmk/app/dts/bindings/zmk,combos.yaml

The zmk,combos node itself has no properties. It should have one child node per combo.

Each child node can have the following properties:

Property Type Description Default
bindings phandle-array A behavior to run when the combo is triggered
key-positions array A list of key position indices for the keys which should trigger the combo
timeout-ms int All the keys must be pressed within this time in milliseconds to trigger the combo 50
slow-release bool Releases the combo when all keys are released instead of when any key is released false
layers array A list of layers on which the combo may be triggered. -1 allows all layers. <-1>

The key-positions array must not be longer than the CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO setting, which defaults to 4. If you want a combo that triggers when pressing 5 keys, then you must change the setting to 5.