Skip to content

Keyboard map

Every Motif/Tabia consumer should bind these keys when the relevant feature is present. Consistency across apps means muscle memory transfers.

KeyAction
Next move. If the current node has multiple children, opens the branch popover.
Previous move. From within a variation, exits to the parent line on first press.
HomeJump to start position.
EndJump to end of current line.
KeyAction
/ Navigate options.
Enter / Select highlighted option.
Esc / Dismiss popover + go back to parent move.
KeyAction
FFlip board orientation.
SpacePlay/pause auto-advance (if engine or auto-play available).
KeyAction
CToggle comments.
BToggle variations / branch mode.
AToggle engine analysis.
KeyAction
16Apply NAG to current move (1=!, 2=?, 3=!!, 4=??, 5=!?, 6=?!).
0Clear NAG on current move.
DeleteDelete subtree from current move forward. (Confirms first.)
KeyAction
EscClose modal / dismiss popover (in priority order).
  • Disable navigation keys when an INPUT, TEXTAREA, or contentEditable element is focused.
  • Branch popover keys take priority over move-nav keys when the popover is open.
  • Long-press on touch devices triggers the equivalent of right-click for context menus.
  • Holding or should auto-repeat with rate-limiting (~80ms between moves) so users can scrub quickly.
  • Complex chord shortcuts (Cmd+something) — not consistent across iOS/Mac/Linux/Windows. Single keys only.
  • Tab — reserved for native focus traversal; never override.
  • Letter keys for piece selection in editor — too many conflicts with view toggles. Use the click/drag-and-drop affordance for piece edits.