Every Motif/Tabia consumer should bind these keys when the relevant feature is present. Consistency across apps means muscle memory transfers.
| Key | Action |
|---|
→ | 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. |
Home | Jump to start position. |
End | Jump to end of current line. |
| Key | Action |
|---|
↓ / ↑ | Navigate options. |
Enter / → | Select highlighted option. |
Esc / ← | Dismiss popover + go back to parent move. |
| Key | Action |
|---|
F | Flip board orientation. |
Space | Play/pause auto-advance (if engine or auto-play available). |
| Key | Action |
|---|
C | Toggle comments. |
B | Toggle variations / branch mode. |
A | Toggle engine analysis. |
| Key | Action |
|---|
1–6 | Apply NAG to current move (1=!, 2=?, 3=!!, 4=??, 5=!?, 6=?!). |
0 | Clear NAG on current move. |
Delete | Delete subtree from current move forward. (Confirms first.) |
| Key | Action |
|---|
Esc | Close 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.