mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Make navigation and playback control TV-friendly
This commit is contained in:
parent
9c47f8fc1c
commit
3896c18e26
4 changed files with 142 additions and 1 deletions
|
@ -770,6 +770,10 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
var isProgressClear = state.MediaSource && null == state.MediaSource.RunTimeTicks;
|
||||
nowPlayingPositionSlider.setIsClear(isProgressClear);
|
||||
|
||||
if (nowPlayingItem.RunTimeTicks) {
|
||||
nowPlayingPositionSlider.setKeyboardSteps(userSettings.skipBackLength() * 1000000 / nowPlayingItem.RunTimeTicks, userSettings.skipForwardLength() * 1000000 / nowPlayingItem.RunTimeTicks);
|
||||
}
|
||||
|
||||
if (-1 === supportedCommands.indexOf("ToggleFullscreen") || player.isLocalPlayer && layoutManager.tv && playbackManager.isFullscreen(player)) {
|
||||
view.querySelector(".btnFullscreen").classList.add("hide");
|
||||
} else {
|
||||
|
@ -1070,12 +1074,21 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Keys used for keyboard navigation.
|
||||
*/
|
||||
var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
||||
|
||||
function onWindowKeyDown(e) {
|
||||
if (!currentVisibleMenu && 32 === e.keyCode) {
|
||||
playbackManager.playPause(currentPlayer);
|
||||
return void showOsd();
|
||||
}
|
||||
|
||||
if (layoutManager.tv && NavigationKeys.indexOf(e.key) != -1) {
|
||||
return void showOsd();
|
||||
}
|
||||
|
||||
switch (e.key) {
|
||||
case "k":
|
||||
playbackManager.playPause(currentPlayer);
|
||||
|
@ -1237,6 +1250,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
|||
var transitionEndEventName = dom.whichTransitionEvent();
|
||||
var headerElement = document.querySelector(".skinHeader");
|
||||
var osdBottomElement = document.querySelector(".videoOsdBottom-maincontrols");
|
||||
|
||||
if (layoutManager.tv) {
|
||||
nowPlayingPositionSlider.classList.add("focusable");
|
||||
nowPlayingPositionSlider.enableKeyboardDragging();
|
||||
}
|
||||
|
||||
view.addEventListener("viewbeforeshow", function (e) {
|
||||
headerElement.classList.add("osdHeader");
|
||||
Emby.Page.setTransparency("full");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue