Keybindings / command reference
The Keymap
section of the config editor allows you to customize program keybindings
A condensed form of much of this info is available in-app in the Keymap
section's info icon tooltip.
Note: it's recommended that you don't re-use the same key in both the mouse action keys and the keymap -- it could result in unexpected or confusing program behavior. In v0.4 preview: if a key is present in the overlay at the current grid level, as well as a keybinding here, the overlay will take precedence.
Key names
The key names used/accepted mostly follow web conventions, with some exceptions, and some allowances for aliases.
- Printable non-whitespace characters just use the literal character
A
throughZ
,0
through9
,-=`[]\;',./
- Note: the non-shifted version of non-alpha characters should be used (e.g.
1
instead of!
), and the uppercase version of alpha characters should be used (A
instead ofa
, to avoid ambiguity with modifier shorthands (upcoming feature))
- Note: the non-shifted version of non-alpha characters should be used (e.g.
- Whitespace characters are named:
Space
,Tab
,Enter
- Modifier keys
- Allowed aliases:
Command
/Cmd
/Meta
/Win
/Gui
Alt
/Option
/Opt
Control
/Ctrl
- Left/right-specific, or universal versions
- e.g.
Shift
,ShiftLeft
, orShiftRight
- Note: side-specific modifier keys are not yet supported as modifiers, only as main keys.
- e.g.
- Allowed aliases:
- Other named keys list
ArrowLeft
,ArrowRight
,ArrowUp
,ArrowDown
Numpad0
throughNumpad9
,NumpadAdd/Subtract/Multiply/Divide/Decimal/Equal/Comma/Enter
F1
throughF20
,Fn
Backspace
,Delete
,Escape
,PageUp
,PageDown
,Home
,End
,Insert
NumLock
,CapsLock
ContextMenu
,VolumeUp/Down/Mute
Lang1
,Lang2
,IntlYen
(¥
),IntlRo
(ろ
),IntlBackslash
Assigning multiple keybindings to a command
To assign multiple keybindings to a single command, separate them with ,
(note the space). E.g. Escape, CommandLeft tap
.
Tap vs keydown
Actions can be triggered either by a keydown event, or by a tap
-- a downstroke and upstroke of the same key within tap_threshold
milliseconds, uninterrupted by other keys.
To specify a tap
keybinding, simply add tap
(with a space) after the keyname, e.g. CommandLeft tap
. CommandLeft
on its own as a keybinding will cause the action to be triggered on the key downstroke (which can make interaction a bit snappier).
Using modifiers as...modifiers
To add a modifier to a keybinding in the usual way (like it is used for cmd+C for copy, cmd+S for save, etc), put them before the main keypress with a +
, e.g.:
cmd+Tab
cmd+Tab tap
cmd+alt+shift+ctrl+Tab
The same aliases (see Key names) are allowed as when the modifier is used as the main key.
Command reference
Note: This information is largely the same as the in-app tooltips when you hover over the command name.
Overlay
- Show overlay: Shows the overlay.
- Hide overlay: Hide the overlay, without executing any mouse action.
- Move to next monitor: Moves the overlay to the next to the next monitor.
- Move to previous monitor: Moves the overlay to the previous monitor.
- Increase master opacity (currently Mac-only): Increases the
master opacity
value. - Decrease master opacity (currently Mac-only): Decreases the
master opacity
value. - Toggle overlay lock (in preview): When locked, the overlay will not respond to keypresses, and keypresses will pass through to focused app. May be useful while editing the config. This is a beta feature, and not fully implemented -- some commands will still affect the overlay.
- Toggle continuous mode (in preview): When continuous mode is on, the overlay stays up after executing a mouse action.
- Toggle continuous mode until closed (in preview): Continuous mode will be turned off after the overlay is hidden.
- Cycle grid action level (in preview): Cycles the value of the
Grid action level
field. - Cycle font (in preview): Cycles the value of the
Font
field. Note: This may be removed once keyboard-based selection in dropdowns is improved and/or previewing of the overlay is implemented.
Mouse actions
- Execute mouse action: In the default state, executes a left click at the virtual cursor. Can execute other actions/buttons/click_counts if
hold for
orcycle
commands are used. Double and triple clicks can be executed by pressing multiple times. - Execute mouse move: Moves the system cursor to the virtual cursor.
- Undo last key: Undoes the last key when selecting a cell.
- Release hold/drag: During a drag action, 'drops' at the system cursor.
- Repeat last mouse action: Repeats the last mouse action, at the same location it was executed at.
- Hold for move: When held,
execute mouse action
will move the system cursor to the virtual cursor. - Hold for drag: When held,
execute mouse action
will start (or continue) a drag operation (i.e. moving the mouse while mouse button is held down). - Hold for right/middle/back/forward button: When held,
execute mouse action
will execute a right/middle/back/forward click at the virtual cursor. - Cycle mouse action type: Sets the action (click, move, drag) that
execute mouse action
will trigger. - Cycle mouse button: Sets the mouse button (left, right, middle, back, forward) that
execute mouse action
will use. - Cycle click count: Sets the click count (single click, double click, triple click) that
execute mouse action
will trigger.
Subgrid nudge (in preview)
- Subgrid nudge up/down/left/right (in preview): These commands move the cursor when
hold subgrid key for nudge
is on and a subgrid key is held.- Note: If you use keys that are also present in the subgrid, you should give each command a key for the left hand and the right hand.
- Note 2: This is a beta feature. Some bugs may be present.
Dialog / menu
- Edit config: When the overlay is up, opens this config editor.
- Close UI element: Closes the currently open dialog, color picker, context menu, etc.
Mouse buttons w/o overlay (renamed to 'Global mouse buttons' in preview)
- left/right/middle/back/forward: These commands execute mouse button presses without the overlay, typically with a mouse or other pointing device still controlling cursor movement.
- Use cases include:
- clicking while maintaining precise cursor position/movement
- preventing/alleviating repetitive strain injury
- user preference over other clicking mechanisms
- Note: On Mac, dragging and double/triple clicks may not work on some elements (but will be implemented very soon).
- Use cases include:
Wheel mode (renamed to 'Free mode' in preview)
- Toggle wheel mode: Toggles wheel mode.
- Enter wheel mode: Activates wheel mode.
- Exit wheel mode: Deactivates wheel mode.
- Hold for speed increase: Multiples the scroll speed by the
wheel speed multiplier
value. (In preview: the more keys assigned to this and held, the greater the increase.) - Hold for speed decrease: Divides teh scroll speed by the
wheel speed multiplier
value. (In preview: the more keys assigned to this and held, the greater the decrease.) - Wheel up/down/left/right: Executes smooth/continuous scrolling while held.
- Wheel up/down/left/right fast: Executes smooth/continuous scrolling while held, with the
wheel speed multiplier
applied. - Wheel step up/down/left/right: Executes a discrete scroll event, the amount determined by the
wheel step size
setting. Responds to system 'autorepeat' when a key is held. - Wheel step up/down/left/right large: Executes a discrete scroll event, the amount determined by the
wheel step size large
setting. Responds to system 'autorepeat' when a key is held. - Jump to top/bottom/left/right edge (experimental): Executes a very large wheel event, to move the scrollable view to the given edge.
- Move up/down/left/right (in preview): Moves the system mouse cursor.