Keyboard cheatsheet
The basic loop
Scrub to contact → Enter to mark → tag player / stroke / spin / outcome → repeat → Export JSON.
Transport
Play / pauseSpace
Step ∓1 frame← →
Step ∓5 frames, .
Jump ∓1 second⇧← ⇧→
Scrub to anywheredrag bar
Speed − / +↓ ↑
Mark shot hereEnter
Stroke
forehand / backhandq w
fh / bh slicee r
fh / bh volleyt y
serve flat / kick / slicea s d
smash / drop / lobz x c
Outcome
in / out / netu i o
winnerp
forced / unforced errj k
unknownm
Player
near / far / left / right1 2 3 4
Spin
topspin / slice / flat / unknown7 8 9 0
Shot bounds & edit
set start / end frame[ ]
select prev / next shot⇧Tab Tab
delete active shot⌫ Del
More strokes (click)
half-volley, swinging volley (fh/bh), backhand overhead, underarm serve, tweener, drop/lob volley, squash shot, topspin lob — click them in the Active shot panel (no key).
Advanced (optional)
Tick advanced at the top of the Active shot panel to add detail fields: hands, direction, serve # & placement, position, depth, stance, return/approach, rally #. Off by default.
Notes
Keys are ignored while typing in a text field — press Esc to leave a field. Work autosaves locally per clip; nothing is uploaded.