diff --git a/src/controllers/videoosd.js b/src/controllers/videoosd.js index c9befe03c5..45a58b8164 100644 --- a/src/controllers/videoosd.js +++ b/src/controllers/videoosd.js @@ -530,7 +530,7 @@ define(["playbackManager", "dom", "inputmanager", "datetime", "itemHelper", "med view.querySelector(".btnFullscreen").setAttribute("title", globalize.translate("ExitFullscreen")); view.querySelector(".btnFullscreen i").innerHTML = ""; } else { - view.querySelector(".btnFullscreen").setAttribute("title", globalize.translate("Fullscreen")); + view.querySelector(".btnFullscreen").setAttribute("title", globalize.translate("Fullscreen") + " (f)"); view.querySelector(".btnFullscreen i").innerHTML = ""; } } @@ -713,7 +713,14 @@ define(["playbackManager", "dom", "inputmanager", "datetime", "itemHelper", "med } function updatePlayPauseState(isPaused) { - view.querySelector(".btnPause i").innerHTML = isPaused ? "" : ""; + var button = view.querySelector(".btnPause i"); + if (isPaused) { + button.innerHTML = ""; + button.setAttribute("title", globalize.translate("ButtonPlay") + " (k)"); + } else { + button.innerHTML = ""; + button.setAttribute("title", globalize.translate("ButtonPause") + " (k)"); + } } function updatePlayerStateInternal(event, player, state) { @@ -836,10 +843,10 @@ define(["playbackManager", "dom", "inputmanager", "datetime", "itemHelper", "med } if (isMuted) { - view.querySelector(".buttonMute").setAttribute("title", globalize.translate("Unmute")); + view.querySelector(".buttonMute").setAttribute("title", globalize.translate("Unmute") + " (m)"); view.querySelector(".buttonMute i").innerHTML = ""; } else { - view.querySelector(".buttonMute").setAttribute("title", globalize.translate("Mute")); + view.querySelector(".buttonMute").setAttribute("title", globalize.translate("Mute") + " (m)"); view.querySelector(".buttonMute i").innerHTML = ""; } @@ -1013,43 +1020,61 @@ define(["playbackManager", "dom", "inputmanager", "datetime", "itemHelper", "med } function onWindowKeyDown(e) { - if (!currentVisibleMenu && (32 === e.keyCode || 13 === e.keyCode)) { + if (!currentVisibleMenu && 32 === e.keyCode) { playbackManager.playPause(currentPlayer); return void showOsd(); } switch (e.key) { - case "f": - if (!e.ctrlKey) { - playbackManager.toggleFullscreen(currentPlayer); - } + case "k": + playbackManager.playPause(currentPlayer); + showOsd(); + break; + case "l": + case "ArrowRight": + case "Right": + playbackManager.fastForward(currentPlayer); + showOsd(); + break; + + case "j": + case "ArrowLeft": + case "Left": + playbackManager.rewind(currentPlayer); + showOsd(); + break; + + case "f": + if (!e.ctrlKey && !e.metaKey) { + playbackManager.toggleFullscreen(currentPlayer); + showOsd(); + } break; case "m": playbackManager.toggleMute(currentPlayer); + showOsd(); break; - case "ArrowLeft": - case "Left": case "NavigationLeft": case "GamepadDPadLeft": case "GamepadLeftThumbstickLeft": - if (e.shiftKey) { + // Ignores gamepad events that are always triggered, even when not focused. + if (document.hasFocus()) { playbackManager.rewind(currentPlayer); + showOsd(); } - break; - case "ArrowRight": - case "Right": case "NavigationRight": case "GamepadDPadRight": case "GamepadLeftThumbstickRight": - if (e.shiftKey) { + // Ignores gamepad events that are always triggered, even when not focused. + if (document.hasFocus()) { playbackManager.fastForward(currentPlayer); + showOsd(); } - } } diff --git a/src/videoosd.html b/src/videoosd.html index e70adbe39c..aaa4b33ed6 100644 --- a/src/videoosd.html +++ b/src/videoosd.html @@ -37,7 +37,7 @@ - @@ -45,7 +45,7 @@ - @@ -62,7 +62,7 @@ -
@@ -82,4 +82,4 @@
- \ No newline at end of file +