1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #278 from DrPandemic/keyboard-shortcuts

New keyboard shortcuts
This commit is contained in:
Anthony Lavado 2019-05-05 08:43:14 -04:00 committed by GitHub
commit 58dfadccbe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 22 deletions

View file

@ -534,7 +534,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 = "";
}
}
@ -718,7 +718,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) {
@ -841,10 +848,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 = "";
}
@ -1050,43 +1057,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();
}
}
}

View file

@ -37,7 +37,7 @@
<i class="xlargePaperIconButton md-icon">&#xE045;</i>
</button>
<button is="paper-icon-button-light" class="btnRewind" title="${Rewind}">
<button is="paper-icon-button-light" class="btnRewind" title="${Rewind} (j)">
<i class="xlargePaperIconButton md-icon">&#xE020;</i>
</button>
@ -45,7 +45,7 @@
<i class="xlargePaperIconButton md-icon">&#xE034;</i>
</button>
<button is="paper-icon-button-light" class="btnFastForward" title="${FastForward}">
<button is="paper-icon-button-light" class="btnFastForward" title="${FastForward} (l)">
<i class="xlargePaperIconButton md-icon">&#xE01F;</i>
</button>
@ -63,7 +63,7 @@
<button is="paper-icon-button-light" class="btnVideoOsdSettings hide autoSize" title="${Settings}">
<i class="largePaperIconButton md-icon">&#xE8B8;</i>
</button>
<button is="paper-icon-button-light" class="btnFullscreen hide autoSize" title="${Fullscreen}">
<button is="paper-icon-button-light" class="btnFullscreen hide autoSize" title="${Fullscreen} (f)">
<i class="xlargePaperIconButton md-icon">&#xE5D0;</i>
</button>
<button is="paper-icon-button-light" class="btnPip hide autoSize" title="${PictureInPicture}">
@ -73,7 +73,7 @@
<div class="osdTimeText"><span class="osdPositionText"></span><span class="osdDurationText"></span><span class="endsAtText"></span></div>
<div class="volumeButtons hide-mouse-idle-tv">
<button is="paper-icon-button-light" class="buttonMute autoSize" title="${Mute}">
<button is="paper-icon-button-light" class="buttonMute autoSize" title="${Mute} (m)">
<i class="xlargePaperIconButton md-icon">&#xE050;</i>
</button>
<div class="sliderContainer osdVolumeSliderContainer">