diff --git a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx index 8dae61575..a689f6a36 100644 --- a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx +++ b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx @@ -37,6 +37,14 @@ function handleHotkeys(player: VideoJsPlayer, event: VideoJS.KeyboardEvent) { player.currentTime(time); } + function seekPercentRelative(percent: number) { + const duration = player.duration(); + const currentTime = player.currentTime(); + const time = currentTime + duration * percent; + if (time > duration) return; + player.currentTime(time); + } + if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) { return; } @@ -96,6 +104,12 @@ function handleHotkeys(player: VideoJsPlayer, event: VideoJS.KeyboardEvent) { case 57: // 9 seekPercent(0.9); break; + case 221: // ] + seekPercentRelative(0.1); + break; + case 219: // [ + seekPercentRelative(-0.1); + break; } } diff --git a/ui/v2.5/src/docs/en/KeyboardShortcuts.md b/ui/v2.5/src/docs/en/KeyboardShortcuts.md index 022f59a5a..50026de0a 100644 --- a/ui/v2.5/src/docs/en/KeyboardShortcuts.md +++ b/ui/v2.5/src/docs/en/KeyboardShortcuts.md @@ -64,6 +64,9 @@ | `p n` | Play next scene in queue | | `p p` | Play previous scene in queue | | `p r` | Play random scene in queue | +| `{1-9}` | Seek to 10-90% duration | +| `[` | Scrub backwards 10% duration | +| `]` | Scrub forwards 10% duration | ### Scene Markers tab shortcuts