From e28b55721d527fc0bd7fdb6a607d8598c04a65e6 Mon Sep 17 00:00:00 2001 From: Steve Hoffing Date: Sun, 9 Jun 2024 13:34:12 -0400 Subject: [PATCH] play/pause when Enter is pressed on non-dragging position slider --- src/controllers/playback/video/index.js | 4 ++++ src/elements/emby-slider/emby-slider.js | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index fbe4c3cecb..5f7dfed23a 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -1775,6 +1775,10 @@ export default function (view) { } }); + nowPlayingPositionSlider.addEventListener('playpause', function () { + playbackManager.playPause(currentPlayer); + }); + nowPlayingPositionSlider.updateBubbleHtml = function(bubble, value) { showOsd(); diff --git a/src/elements/emby-slider/emby-slider.js b/src/elements/emby-slider/emby-slider.js index 8c572f6474..9813d7cdaf 100644 --- a/src/elements/emby-slider/emby-slider.js +++ b/src/elements/emby-slider/emby-slider.js @@ -521,6 +521,19 @@ function stepKeyboard(elem, delta) { elem.dispatchEvent(event); } +/** + * Play or pause video. + * + * @param {Object} elem slider itself + */ +function playPauseKeyboard(elem) { + const event = new Event('playpause', { + bubbles: true, + cancelable: false + }); + elem.dispatchEvent(event); +} + /** * Handle KeyDown event */ @@ -541,9 +554,11 @@ function onKeyDown(e) { case 'Enter': if (this.keyboardDragging) { finishKeyboardDragging(this); - e.preventDefault(); - e.stopPropagation(); + } else { + playPauseKeyboard(this); } + e.preventDefault(); + e.stopPropagation(); break; } }