From 1ab02a1748d6235e77ba87041b2ced3246a3d093 Mon Sep 17 00:00:00 2001 From: iampabber <107663471+iampabber@users.noreply.github.com> Date: Tue, 21 Jun 2022 18:33:17 -0700 Subject: [PATCH] Use hotkeys '[' and ']' to scrub video player forwards and backwards by 10% of the scene (#2678) * Use hotkeys '[' and ']' to scrub video player forwards and backwards by 10% of the scene * Don't loop back to beginning * Add manual keybind entry Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com> --- ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx | 14 ++++++++++++++ ui/v2.5/src/docs/en/KeyboardShortcuts.md | 3 +++ 2 files changed, 17 insertions(+) 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