From e8f03f605aa61639bf3c057337e3e95cec789834 Mon Sep 17 00:00:00 2001 From: dmitrylyzo <56478732+dmitrylyzo@users.noreply.github.com> Date: Mon, 3 Feb 2025 12:29:42 -0500 Subject: [PATCH] Backport pull request #6496 from jellyfin-web/release-10.10.z Skip prevented keyboard events Original-merge: 5d8ab6a99b3b1e296d8207bac3ec5048eed366b8 Merged-by: thornbill Backported-by: Joshua M. Boniface --- src/controllers/playback/video/index.js | 2 ++ src/scripts/keyboardNavigation.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index 5381168dff..8e43667e44 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -1246,12 +1246,14 @@ export default function (view) { case 'ArrowLeft': case 'ArrowRight': if (!e.shiftKey) { + e.preventDefault(); showOsd(nowPlayingPositionSlider); nowPlayingPositionSlider.dispatchEvent(new KeyboardEvent(e.type, e)); } return; case 'Enter': if (e.target.tagName !== 'BUTTON') { + e.preventDefault(); playbackManager.playPause(currentPlayer); showOsd(btnPlayPause); } diff --git a/src/scripts/keyboardNavigation.js b/src/scripts/keyboardNavigation.js index 949c7b68a4..8e5797cd8d 100644 --- a/src/scripts/keyboardNavigation.js +++ b/src/scripts/keyboardNavigation.js @@ -125,6 +125,8 @@ export function isInteractiveElement(element) { export function enable() { const hasMediaSession = 'mediaSession' in navigator; window.addEventListener('keydown', function (e) { + if (e.defaultPrevented) return; + // Skip modified keys if (e.ctrlKey || e.altKey || e.metaKey || e.shiftKey) return;