client(hotkeys): tighten hotkey definitions
This commit is contained in:
parent
1664bc60eb
commit
e0b5972167
client/src/assets/player
|
@ -527,6 +527,9 @@ export class PeertubePlayerManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static addHotkeysOptions (plugins: VideoJSPluginOptions) {
|
private static addHotkeysOptions (plugins: VideoJSPluginOptions) {
|
||||||
|
const isNaked = (event: KeyboardEvent, key: string) =>
|
||||||
|
(!event.ctrlKey && !event.altKey && !event.metaKey && !event.shiftKey && event.key === key)
|
||||||
|
|
||||||
Object.assign(plugins, {
|
Object.assign(plugins, {
|
||||||
hotkeys: {
|
hotkeys: {
|
||||||
skipInitialFocus: true,
|
skipInitialFocus: true,
|
||||||
|
@ -542,7 +545,7 @@ export class PeertubePlayerManager {
|
||||||
|
|
||||||
fullscreenKey: function (event: KeyboardEvent) {
|
fullscreenKey: function (event: KeyboardEvent) {
|
||||||
// fullscreen with the f key or Ctrl+Enter
|
// fullscreen with the f key or Ctrl+Enter
|
||||||
return event.key === 'f' || (event.ctrlKey && event.key === 'Enter')
|
return isNaked(event, 'f') || (!event.altKey && event.ctrlKey && event.key === 'Enter')
|
||||||
},
|
},
|
||||||
|
|
||||||
seekStep: function (event: KeyboardEvent) {
|
seekStep: function (event: KeyboardEvent) {
|
||||||
|
@ -561,7 +564,7 @@ export class PeertubePlayerManager {
|
||||||
customKeys: {
|
customKeys: {
|
||||||
increasePlaybackRateKey: {
|
increasePlaybackRateKey: {
|
||||||
key: function (event: KeyboardEvent) {
|
key: function (event: KeyboardEvent) {
|
||||||
return event.key === '>'
|
return isNaked(event, '>')
|
||||||
},
|
},
|
||||||
handler: function (player: videojs.Player) {
|
handler: function (player: videojs.Player) {
|
||||||
const newValue = Math.min(player.playbackRate() + 0.1, 5)
|
const newValue = Math.min(player.playbackRate() + 0.1, 5)
|
||||||
|
@ -570,7 +573,7 @@ export class PeertubePlayerManager {
|
||||||
},
|
},
|
||||||
decreasePlaybackRateKey: {
|
decreasePlaybackRateKey: {
|
||||||
key: function (event: KeyboardEvent) {
|
key: function (event: KeyboardEvent) {
|
||||||
return event.key === '<'
|
return isNaked(event, '<')
|
||||||
},
|
},
|
||||||
handler: function (player: videojs.Player) {
|
handler: function (player: videojs.Player) {
|
||||||
const newValue = Math.max(player.playbackRate() - 0.1, 0.10)
|
const newValue = Math.max(player.playbackRate() - 0.1, 0.10)
|
||||||
|
@ -579,7 +582,7 @@ export class PeertubePlayerManager {
|
||||||
},
|
},
|
||||||
frameByFrame: {
|
frameByFrame: {
|
||||||
key: function (event: KeyboardEvent) {
|
key: function (event: KeyboardEvent) {
|
||||||
return event.key === '.'
|
return isNaked(event, '.')
|
||||||
},
|
},
|
||||||
handler: function (player: videojs.Player) {
|
handler: function (player: videojs.Player) {
|
||||||
player.pause()
|
player.pause()
|
||||||
|
|
Loading…
Reference in New Issue