Added player keyboard shortcuts

This commit is contained in:
Tiberiu Ichim 2026-02-22 09:57:10 +02:00
parent c3acd209bd
commit 8b130cb097
6 changed files with 39 additions and 11 deletions

View file

@ -203,6 +203,12 @@ export default {
jumpForward() {
this.$emit('jumpForward')
},
jumpBackwardMajor() {
this.seek(Math.max(this.currentTime - 60, 0))
},
jumpForwardMajor() {
this.seek(Math.min(this.currentTime + 60, this.duration))
},
increaseVolume() {
if (this.volume >= 1) return
this.volume = Math.min(1, this.volume + 0.1)
@ -343,8 +349,12 @@ export default {
},
hotkey(action) {
if (action === this.$hotkeys.AudioPlayer.PLAY_PAUSE) this.playPause()
else if (action === this.$hotkeys.AudioPlayer.JUMP_FORWARD) this.jumpForward()
else if (action === this.$hotkeys.AudioPlayer.JUMP_BACKWARD) this.jumpBackward()
else if (action === this.$hotkeys.AudioPlayer.JUMP_FORWARD || action === this.$hotkeys.AudioPlayer.JUMP_FORWARD_ALT) this.jumpForward()
else if (action === this.$hotkeys.AudioPlayer.JUMP_BACKWARD || action === this.$hotkeys.AudioPlayer.JUMP_BACKWARD_ALT) this.jumpBackward()
else if (action === this.$hotkeys.AudioPlayer.JUMP_FORWARD_MAJOR) this.jumpForwardMajor()
else if (action === this.$hotkeys.AudioPlayer.JUMP_BACKWARD_MAJOR) this.jumpBackwardMajor()
else if (action === this.$hotkeys.AudioPlayer.NEXT_CHAPTER) this.goToNext()
else if (action === this.$hotkeys.AudioPlayer.PREV_CHAPTER) this.prevChapter()
else if (action === this.$hotkeys.AudioPlayer.VOLUME_UP) this.increaseVolume()
else if (action === this.$hotkeys.AudioPlayer.VOLUME_DOWN) this.decreaseVolume()
else if (action === this.$hotkeys.AudioPlayer.MUTE_UNMUTE) this.toggleMute()

View file

@ -531,9 +531,10 @@ export default {
return null
}
var keyName = this.$keynames[keyCode]
var name = keyName
if (e.shiftKey) name = 'Shift-' + keyName
var name = this.$keynames[keyCode]
if (e.ctrlKey || e.metaKey) name = 'Ctrl-' + name
if (e.altKey) name = 'Alt-' + name
if (e.shiftKey) name = 'Shift-' + name
if (process.env.NODE_ENV !== 'production') {
console.log('Hotkey command', name)
}

View file

@ -314,9 +314,10 @@ export default {
return null
}
var keyName = this.$keynames[keyCode]
var name = keyName
if (e.shiftKey) name = 'Shift-' + keyName
var name = this.$keynames[keyCode]
if (e.ctrlKey || e.metaKey) name = 'Ctrl-' + name
if (e.altKey) name = 'Alt-' + name
if (e.shiftKey) name = 'Shift-' + name
if (process.env.NODE_ENV !== 'production') {
console.log('Hotkey command', name)
}

View file

@ -64,19 +64,27 @@ const KeyNames = {
81: 'KeyQ',
82: 'KeyR',
83: 'KeyS',
191: 'Slash'
191: 'Slash',
219: 'BracketLeft',
221: 'BracketRight'
}
const Hotkeys = {
AudioPlayer: {
PLAY_PAUSE: 'Space',
JUMP_FORWARD: 'ArrowRight',
JUMP_BACKWARD: 'ArrowLeft',
JUMP_FORWARD_ALT: 'Shift-ArrowRight',
JUMP_BACKWARD_ALT: 'Shift-ArrowLeft',
JUMP_FORWARD_MAJOR: 'Shift-Ctrl-ArrowRight',
JUMP_BACKWARD_MAJOR: 'Shift-Ctrl-ArrowLeft',
VOLUME_UP: 'ArrowUp',
VOLUME_DOWN: 'ArrowDown',
MUTE_UNMUTE: 'KeyM',
SHOW_CHAPTERS: 'KeyL',
INCREASE_PLAYBACK_RATE: 'Shift-ArrowUp',
DECREASE_PLAYBACK_RATE: 'Shift-ArrowDown',
NEXT_CHAPTER: 'Shift-ArrowUp',
PREV_CHAPTER: 'Shift-ArrowDown',
INCREASE_PLAYBACK_RATE: 'BracketRight',
DECREASE_PLAYBACK_RATE: 'BracketLeft',
CLOSE: 'Escape'
},
EReader: {