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

Make inputManager look-up table work properly

This commit is contained in:
MrTimscampi 2020-04-07 19:11:53 +02:00
parent 326f8e2b8d
commit a5d8775611

View file

@ -90,12 +90,24 @@ import appHost from 'apphost';
} }
const keyActions = (command) => ({ const keyActions = (command) => ({
'up': focusManager.moveUp(sourceElement), 'up': () => {
'down': focusManager.moveDown(sourceElement), focusManager.moveUp(sourceElement);
'left': focusManager.moveLeft(sourceElement), },
'right': focusManager.moveRight(sourceElement), 'down': () => {
'home': appRouter.goHome(), focusManager.moveDown(sourceElement);
'settings': appRouter.showSettings(), },
'left': () => {
focusManager.moveLeft(sourceElement);
},
'right': () => {
focusManager.moveRight(sourceElement)
},
'home': () => {
appRouter.goHome();
},
'settings': () => {
appRouter.showSettings();
},
'back': () => { 'back': () => {
if (appRouter.canGoBack()) { if (appRouter.canGoBack()) {
appRouter.back(); appRouter.back();
@ -103,49 +115,119 @@ import appHost from 'apphost';
appHost.exit(); appHost.exit();
} }
}, },
'select': select(sourceElement), 'select': () => {
'nextchapter': playbackManager.nextChapter(), select(sourceElement);
'next': playbackManager.nextTrack(), },
'nexttrack': playbackManager.nextTrack(), 'nextchapter': () => {
'previous': playbackManager.previousTrack(), playbackManager.nextChapter();
'previoustrack': playbackManager.previousTrack(), },
'previouschapter': playbackManager.previousChapter(), 'next': () => {
'guide': appRouter.showGuide(), playbackManager.nextTrack();
'recordedtv': appRouter.showRecordedTV(), },
'livetv': appRouter.showLiveTV(), 'nexttrack': () => {
'mute': playbackManager.setMute(true), playbackManager.nextTrack();
'unmute': playbackManager.setMute(false), },
'togglemute': playbackManager.toggleMute(), 'previous': () => {
'channelup': playbackManager.channelUp(), playbackManager.previousTrack();
'channeldown': playbackManager.channelDown(), },
'volumedown': playbackManager.volumeDown(), 'previoustrack': () => {
'volumeup': playbackManager.volumeUp(), playbackManager.previousTrack();
'play': playbackManager.unpause(), },
'pause': playbackManager.pause(), 'previouschapter': () => {
'playpause': playbackManager.playPause(), playbackManager.previousChapter();
},
'guide': () => {
appRouter.showGuide();
},
'recordedtv': () => {
appRouter.showRecordedTV();
},
'livetv': () => {
appRouter.showLiveTV();
},
'mute': () => {
playbackManager.setMute(true);
},
'unmute': () => {
playbackManager.setMute(false);
},
'togglemute': () => {
playbackManager.toggleMute();
},
'channelup': () => {
playbackManager.channelUp();
},
'channeldown': () => {
playbackManager.channelDown();
},
'volumedown': () => {
playbackManager.volumeDown();
},
'volumeup': () => {
playbackManager.volumeUp();
},
'play': () => {
playbackManager.unpause();
},
'pause': () => {
playbackManager.pause();
},
'playpause': () => {
playbackManager.playPause();
},
'stop': () => { 'stop': () => {
if (checkCommandTime('stop')) { if (checkCommandTime('stop')) {
playbackManager.stop(); playbackManager.stop();
} }
}, },
'changezoom': playbackManager.toggleAspectRatio(), 'changezoom': () => {
'changeaudiotrack': playbackManager.changeAudioStream(), playbackManager.toggleAspectRatio();
'changesubtitletrack': playbackManager.changeSubtitleStream(), },
'search': appRouter.showSearch(), 'changeaudiotrack': () => {
'favorites': appRouter.showFavorites(), playbackManager.changeAudioStream();
'fastforward': playbackManager.fastForward(), },
'rewind': playbackManager.rewind(), 'changesubtitletrack': () => {
'togglefullscreen': playbackManager.toggleFullscreen(), playbackManager.changeSubtitleStream();
'disabledisplaymirror': playbackManager.enableDisplayMirroring(false), },
'enabledisplaymirror': playbackManager.enableDisplayMirroring(true), 'search': () => {
'toggledisplaymirror': playbackManager.toggleDisplayMirroring(), appRouter.showSearch();
'nowplaying': appRouter.showNowPlaying(), },
'repeatnone': playbackManager.setRepeatMode('RepeatNone'), 'favorites': () => {
'repeatall': playbackManager.setRepeatMode('RepeatAll'), appRouter.showFavorites();
'repeatone': playbackManager.setRepeatMode('RepeatOne') },
'fastforward': () => {
playbackManager.fastForward();
},
'rewind': () => {
playbackManager.rewind();
},
'togglefullscreen': () => {
playbackManager.toggleFullscreen();
},
'disabledisplaymirror': () => {
playbackManager.enableDisplayMirroring(false);
},
'enabledisplaymirror': () => {
playbackManager.enableDisplayMirroring(true);
},
'toggledisplaymirror': () => {
playbackManager.toggleDisplayMirroring();
},
'nowplaying': () => {
appRouter.showNowPlaying();
},
'repeatnone': () => {
playbackManager.setRepeatMode('RepeatNone');
},
'repeatall': () => {
playbackManager.setRepeatMode('RepeatAll');
},
'repeatone': () => {
playbackManager.setRepeatMode('RepeatOne');
}
})[command]; })[command];
keyActions(commandName); keyActions(commandName).call();
} }
dom.addEventListener(document, 'click', notify, { dom.addEventListener(document, 'click', notify, {