diff --git a/thrimbletrimmer/edit.html b/thrimbletrimmer/edit.html
index 706c5c5..c59aa40 100644
--- a/thrimbletrimmer/edit.html
+++ b/thrimbletrimmer/edit.html
@@ -38,7 +38,7 @@
Period (.): Forward 1 frame
Equals (=): Increase playback speed one step
Hyphen (-): Decrease playback speed one step
- Shift+=: Maximum playback speed
+ Shift+=: 2x or maximum playback speed
Shift+-: Minimum playback speed
Backspace: Reset playback speed to 1x
diff --git a/thrimbletrimmer/index.html b/thrimbletrimmer/index.html
index ac2cd01..fe5eab3 100644
--- a/thrimbletrimmer/index.html
+++ b/thrimbletrimmer/index.html
@@ -32,7 +32,7 @@
Period (.): Forward 1 frame
Equals (=): Increase playback speed one step
Hyphen (-): Decrease playback speed one step
- Shift+=: Maximum playback speed
+ Shift+=: 2x or maximum playback speed
Shift+-: Minimum playback speed
Backspace: Reset playback speed to 1x
diff --git a/thrimbletrimmer/scripts/common.js b/thrimbletrimmer/scripts/common.js
index 6ce6d50..c8ff59a 100644
--- a/thrimbletrimmer/scripts/common.js
+++ b/thrimbletrimmer/scripts/common.js
@@ -18,7 +18,7 @@ Hls.DefaultConfig.maxBufferHole = 600;
const VIDEO_FRAMES_PER_SECOND = 30;
-const PLAYBACK_RATES = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2];
+const PLAYBACK_RATES = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 4, 8];
function commonPageSetup() {
if (!Hls.isSupported()) {
diff --git a/thrimbletrimmer/scripts/keyboard-shortcuts.js b/thrimbletrimmer/scripts/keyboard-shortcuts.js
index 6ec8fd0..497b3ab 100644
--- a/thrimbletrimmer/scripts/keyboard-shortcuts.js
+++ b/thrimbletrimmer/scripts/keyboard-shortcuts.js
@@ -100,7 +100,12 @@ document.addEventListener("keypress", (event) => {
increaseSpeed();
break;
case "+":
- setSpeed(videoElement, PLAYBACK_RATES[PLAYBACK_RATES.length - 1]);
+ const playbackRate = videoElement.playbackRate;
+ if (playbackRate < 2) {
+ setSpeed(videoElement, 2);
+ } else {
+ setSpeed(videoElement, PLAYBACK_RATES[PLAYBACK_RATES.length - 1]);
+ }
break;
case "-":
decreaseSpeed();