This page lists every key name and action accepted by the current configuration validator.
Key names are case-insensitive. A trigger or send_key can be a single key:
"1"
"Space"
"F12"
Or a modifier combo:
"Ctrl+1"
"LShift+F2"
"Ctrl+Alt+Delete"
Only modifiers may precede the final key. A combo must contain exactly one non-modifier key and cannot end in a modifier. Duplicate logical modifiers are tolerated by combo parsing and collapse during dispatch, but should be avoided.
any is accepted only in keymaps[].keys and acts as the match-all trigger. It is not a valid send_key. Be careful: it can suppress and forward nearly every ordinary key event while enabled.
Generic Left-specific Right-specific
------------- -------------- --------------
Ctrl LCtrl RCtrl
Alt LAlt RAlt
Shift LShift RShift
Generic and left/right-specific variants are normalized for message dispatch where required.
Letters A through Z
Number row 0 through 9
Function keys F1 through F24
Backspace Tab Clear
Enter Pause CapsLock
Escape Space PageUp
PageDown End Home
Left Up Right
Down PrintScreen Insert
Delete LWin RWin
Apps
NumPad0 through NumPad9
NumPadMultiply
NumPadAdd
NumPadSeparator
NumPadSubtract
NumPadDecimal
NumPadDivide
; = , - . /
` [ \ ] '
Because JSON treats backslash specially, the backslash key is written as:
"\\"
Action Main purpose
------------------------- ---------------------------------------------
forward Send a key to selected managed instances.
forward_focused Send a key only to the focused managed client.
round_robin Send to one selected client at a time.
do_nothing Consume the trigger without forwarding it.
enable_keymaps Enable named mappings.
disable_keymaps Disable named mappings.
toggle_keymaps Toggle named mappings.
enable_forwarding Restore normal background forwarding.
disable_forwarding Limit forwarding to the focused client.
toggle_forwarding Toggle global forwarding state.
mouse_broadcast Control continuous mouse broadcasting.
swap_instance_to_region Move an instance into a configured region.
forwardDispatches the trigger key, or send_key, to instances selected by targets. With no targets it uses all active instances.
{
"action": "forward",
"send_key": "2",
"targets": ["all_other"],
"sync_mouse": true,
"add_instance_modifier": false
}
Combo modifiers that the focused application received directly are injected for background targets as necessary.
forward_focusedDispatches only to the currently focused managed instance. targets does not alter this action's focused-only purpose.
{ "action": "forward_focused", "send_key": "1" }
This is useful in a mapping that should consume a system-wide trigger but affect only the active client.
round_robinSelects one eligible instance, sends the key, and advances to the next eligible instance on key down. Round-robin state is tracked per mapping/action identity.
{
"action": "round_robin",
"targets": ["game2", "game3", "game4", "game5"],
"sync_mouse": true
}
With no targets it rotates through all instances. The UI can show the next target with show_round_robin_next_target.
do_nothingConsumes the matched trigger without dispatching a key:
{ "action": "do_nothing" }
This is useful for blocking a key while a named keymap is enabled.
These actions change named keymaps:
{ "action": "enable_keymaps", "keymaps": ["combat"] }
{ "action": "disable_keymaps", "keymaps": ["combat"] }
{ "action": "toggle_keymaps", "keymaps": ["combat"] }
All listed names must exist. State changes are handled on key release so a trigger does not repeatedly toggle from keyboard auto-repeat. Disabling a keymap releases suppressed forwarding state associated with it.
{ "action": "enable_forwarding" }
{ "action": "disable_forwarding" }
{ "action": "toggle_forwarding" }
When global forwarding is disabled, forwarding actions are limited to the currently focused managed instance when it passes any configured target filter. Background targets are ignored. Disabling forwarding also releases suppressed keys.
These actions change state on key release.
mouse_broadcastControls continuous mouse movement and button broadcasting:
{
"action": "mouse_broadcast",
"mouse_broadcast_mode": "toggle"
}
Mode Effect
----------- ------------------------------------------------------
toggle Switch between enabled and disabled.
enable Enable continuous broadcasting.
disable Disable continuous broadcasting.
until_click Enable until the next mouse button-down event.
once Alias-like behavior: enable until the next click.
Omitting the mode uses toggle. State changes occur on key release. While enabled, pointer movement is synchronized to other instances and mouse button messages are forwarded.
swap_instance_to_regionMoves the configured instance to the configured target region:
{
"action": "swap_instance_to_region",
"source_instance": "game3",
"target_region": "main"
}
Both names are required and validated. The swap coordinates window-position changes and input quarantine. It uses move-only swap behavior rather than resizing on each swap. Prefer execute_on: "release" for an explicit, predictable trigger lifecycle.
Execute a mapping when the key is first pressed:
"execute_on": "press"
Execute a tap when released:
"execute_on": "release"
Execute a tap on both press and release:
"execute_on": "press_and_release"
send_on_release: true is older forwarding lifecycle control. It cannot be combined with execute_on: "press". Prefer explicit execute_on in new mappings.
Forward number keys to every client:
{
"name": "numbers",
"keys": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
"actions": [
[
{ "action": "forward" }
]
]
}
Forward only to the four secondary clients:
{
"keys": ["1", "2", "3"],
"actions": [
[
{ "action": "forward", "targets": ["game2", "game3", "game4", "game5"] }
]
]
}
Toggle a disabled wildcard mapping:
{
"keys": ["Ctrl+B"],
"actions": [
[
{ "action": "toggle_keymaps", "keymaps": ["broadcast_all"] }
]
]
},
{
"name": "broadcast_all",
"enabled": false,
"keys": ["any"],
"actions": [
[
{ "action": "forward" }
]
]
}