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:
commit
58dfadccbe
2 changed files with 47 additions and 22 deletions
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<i class="xlargePaperIconButton md-icon"></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"></i>
|
||||
</button>
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
|||
<i class="xlargePaperIconButton md-icon"></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"></i>
|
||||
</button>
|
||||
|
||||
|
@ -63,7 +63,7 @@
|
|||
<button is="paper-icon-button-light" class="btnVideoOsdSettings hide autoSize" title="${Settings}">
|
||||
<i class="largePaperIconButton md-icon"></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"></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"></i>
|
||||
</button>
|
||||
<div class="sliderContainer osdVolumeSliderContainer">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue