The desktop player ships with a Stripe-grade keyboard shortcut set. All shortcuts are automatically disabled when the user is typing in an input or textarea anywhere on the page.
Playback
| Key | Action |
|---|---|
Space | Play / pause |
← / → | Skip back / forward 5 s |
J / L | Skip back / forward 10 s |
Shift + ← / Shift + → | Skip back / forward 30 s |
, / . | Step back / forward by 1 frame (paused) |
0–9 | Jump to 0 %, 10 %, … 90 % of duration |
Home / End | Jump to start / end |
Shift + L | Toggle loop |
B | Set A↔B loop point (press twice to define, third to clear) |
Audio
| Key | Action |
|---|---|
M | Mute / unmute |
↑ / ↓ | Volume up / down 5 % |
Display
| Key | Action |
|---|---|
F | Toggle fullscreen |
T | Toggle theater mode |
Z | Toggle zen mode (chrome auto-hides) |
A | Audio-only mode |
W | Toggle fit / fill scaling |
G | Toggle ambient glow |
P | Picture-in-Picture |
K | Lock the player (ignore pointer + keyboard until unlocked) |
Tools
| Key | Action |
|---|---|
S | Save a screenshot of the current frame |
I | Toggle stats overlay (resolution, bitrate, buffer) |
N | Toggle network diagnostics overlay |
C | Toggle captions / chat panel |
System
| Key | Action |
|---|---|
Esc | Close all overlays + exit fullscreen |
? | Show the shortcut cheatsheet |
Disable all shortcuts
const player = new AnsdevPlayer({
container: '#player',
videoId,
playbackToken,
features: { keyboardShortcuts: false },
});
ℹ️ Mobile uses gestures
Keyboard shortcuts are desktop-only. On touch devices, the player uses gestures:
- Double-tap left / right — seek back / forward 10 s
- Swipe up / down (left edge) — adjust brightness
- Swipe up / down (right edge) — adjust volume
- Pinch — zoom into the frame
- Long-press — speed up to 2× while held