mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-04 20:43:04 +00:00
use hash mode in vue router
- rename keyboard.ts -> useKeyboard.ts
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
import { Store } from "pinia";
|
||||
|
||||
let key_down_fired = false;
|
||||
|
||||
function focusSearchBox() {
|
||||
const elem = document.getElementById("search");
|
||||
|
||||
elem.focus();
|
||||
}
|
||||
|
||||
export default function (queue: any) {
|
||||
window.addEventListener("keydown", (e: any) => {
|
||||
let target = e.target;
|
||||
let ctrlKey = e.ctrlKey;
|
||||
|
||||
function FocusedOnInput(target: any) {
|
||||
return target.tagName === "INPUT" || target.tagName === "TEXTAREA";
|
||||
}
|
||||
|
||||
if (FocusedOnInput(target)) return;
|
||||
|
||||
switch (e.key) {
|
||||
case "ArrowRight":
|
||||
{
|
||||
if (!key_down_fired) {
|
||||
key_down_fired = true;
|
||||
|
||||
setTimeout(() => {
|
||||
key_down_fired = false;
|
||||
}, 1000);
|
||||
|
||||
queue.playNext();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case "ArrowLeft":
|
||||
{
|
||||
if (!key_down_fired) {
|
||||
key_down_fired = true;
|
||||
|
||||
queue.playPrev();
|
||||
|
||||
setTimeout(() => {
|
||||
key_down_fired = false;
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case " ":
|
||||
{
|
||||
if (!key_down_fired) {
|
||||
e.preventDefault();
|
||||
key_down_fired = true;
|
||||
|
||||
queue.playPause();
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "f": {
|
||||
if (!key_down_fired) {
|
||||
if (!ctrlKey) return;
|
||||
e.preventDefault();
|
||||
|
||||
key_down_fired = true;
|
||||
}
|
||||
}
|
||||
case "/": {
|
||||
{
|
||||
e.preventDefault();
|
||||
focusSearchBox();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener("keyup", () => {
|
||||
key_down_fired = false;
|
||||
});
|
||||
Reference in New Issue
Block a user