f1tv keyboard shortcuts
This commit is contained in:
parent
c70c012d4d
commit
dd3a5351fc
11
README.md
11
README.md
@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
Tested with [Violentmonkey](https://violentmonkey.github.io/). Available on [Greasyfork](https://greasyfork.org/en/users/1033565-17ms).
|
Tested with [Violentmonkey](https://violentmonkey.github.io/). Available on [Greasyfork](https://greasyfork.org/en/users/1033565-17ms).
|
||||||
|
|
||||||
* [4c-autohide.js](visual/4c-autohide.js)
|
- [4c-autohide.js](visual/4c-autohide.js)
|
||||||
* [4c-gallery.js](visual/4c-gallery.js)
|
- [4c-gallery.js](visual/4c-gallery.js)
|
||||||
* [4c-image-expander.js](visual/4c-image-expander.js)
|
- [4c-image-expander.js](visual/4c-image-expander.js)
|
||||||
* [y-image-expander.js](visual/y-image-expander.js)
|
- [f1tv-shortcuts.js](shortcut/f1tv-shortcuts.js)
|
||||||
* [y-media-downloader.js](download/y-media-downloader.js)
|
- [y-image-expander.js](visual/y-image-expander.js)
|
||||||
|
- [y-media-downloader.js](download/y-media-downloader.js)
|
||||||
|
79
shortcut/f1tv-shortcuts.js
Normal file
79
shortcut/f1tv-shortcuts.js
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
// ==UserScript==
|
||||||
|
// @name f1tv-shortcuts
|
||||||
|
// @description Additional keyboard shortcuts for F1TV
|
||||||
|
// @author 17ms
|
||||||
|
// @license MIT License
|
||||||
|
// @namespace Violentmonkey Scripts
|
||||||
|
// @match *://f1tv.formula1.com/detail/*
|
||||||
|
// @version 1.0
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
/*
|
||||||
|
Default bindings:
|
||||||
|
"k" play/pause
|
||||||
|
"j" 10s rewind
|
||||||
|
"l" 10s forward
|
||||||
|
"m" mute
|
||||||
|
"f" toggle fullscreen
|
||||||
|
*/
|
||||||
|
|
||||||
|
const keys = ["k", "j", "l", "m", "f"]
|
||||||
|
|
||||||
|
const wrapperQuery = ".bmpui-container-wrapper"
|
||||||
|
const playQuery = ".bmpui-ui-playbacktogglebutton"
|
||||||
|
const muteQuery = ".bmpui-ui-volumetogglebutton"
|
||||||
|
const rewindQuery = ".bmpui-ui-rewindbutton"
|
||||||
|
const forwardQuery = ".bmpui-ui-forwardbutton"
|
||||||
|
const volumeQuery = ".bmpui-ui-volumetogglebutton"
|
||||||
|
const fullscreenQuery = ".bmpui-ui-fullscreentogglebutton"
|
||||||
|
|
||||||
|
const waitInit = (query) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
if (document.querySelector(query)) {
|
||||||
|
return resolve(document.querySelector(query))
|
||||||
|
}
|
||||||
|
|
||||||
|
const observer = new MutationObserver((mutations) => {
|
||||||
|
if (document.querySelector(query)) {
|
||||||
|
resolve(document.querySelector(query))
|
||||||
|
observer.disconnect()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
observer.observe(document.body, {
|
||||||
|
childList: true,
|
||||||
|
subtree: true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
let play, mute, forward, rewind, volume, fullscreen
|
||||||
|
waitInit(wrapperQuery).then((w) => {
|
||||||
|
console.log("f1tv-shortcuts: Wrapper loaded")
|
||||||
|
play = w.querySelector(playQuery)
|
||||||
|
mute = w.querySelector(muteQuery)
|
||||||
|
rewind = w.querySelector(rewindQuery)
|
||||||
|
forward = w.querySelector(forwardQuery)
|
||||||
|
volume = w.querySelector(volumeQuery)
|
||||||
|
fullscreen = w.querySelector(fullscreenQuery)
|
||||||
|
})
|
||||||
|
|
||||||
|
document.addEventListener("keyup", (e) => {
|
||||||
|
switch (e.key) {
|
||||||
|
case keys[0]:
|
||||||
|
play.click()
|
||||||
|
break
|
||||||
|
case keys[1]:
|
||||||
|
rewind.click()
|
||||||
|
break
|
||||||
|
case keys[2]:
|
||||||
|
forward.click()
|
||||||
|
break
|
||||||
|
case keys[3]:
|
||||||
|
volume.click()
|
||||||
|
break
|
||||||
|
case keys[4]:
|
||||||
|
fullscreen.click()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
})
|
Loading…
Reference in New Issue
Block a user