skrivert/src/modules/keyboard.ts

92 lines
1.8 KiB
TypeScript

import { goto } from '$app/navigation';
import type { ExpanderType } from "./index.d.ts";
export const defaultExpanders: Map<string, ExpanderType> = new Map();
export const hotkeys: Map<string, any> = new Map();
defaultExpanders.set(" ", {
key: { keyCode: 190, shiftKey: false },
symbol: " ",
fullstop: false,
});
defaultExpanders.set(".", {
key: { keyCode: 190, shiftKey: false },
symbol: ".",
fullstop: true,
});
defaultExpanders.set("!", {
key: { keyCode: 49, shiftKey: true },
symbol: "!",
fullstop: true,
});
defaultExpanders.set("?", {
key: { keyCode: 187, shiftKey: true },
symbol: "?",
fullstop: true,
});
defaultExpanders.set("+", {
key: { keyCode: 187, shiftKey: false },
symbol: "+",
fullstop: false,
});
defaultExpanders.set(",", {
key: { keyCode: 188, shiftKey: false },
symbol: ",",
fullstop: false,
});
defaultExpanders.set("(", {
key: { keyCode: 56, shiftKey: true },
symbol: "(",
fullstop: false,
});
defaultExpanders.set(")", {
key: { keyCode: 57, shiftKey: true },
symbol: ")",
fullstop: false,
});
defaultExpanders.set('"', {
key: { keyCode: 50, shiftKey: true },
symbol: '"',
fullstop: false,
});
defaultExpanders.set("'", {
key: { keyCode: 191, shiftKey: false },
symbol: "'",
fullstop: false,
});
defaultExpanders.set("-", {
key: { keyCode: 189, shiftKey: false },
symbol: "-",
fullstop: false,
});
defaultExpanders.set(":", {
key: { keyCode: 190, shiftKey: true },
symbol: ":",
fullstop: false,
});
defaultExpanders.set(",", {
key: { keyCode: 188, shiftKey: false },
symbol: ",",
fullstop: false,
});
defaultExpanders.set(";", {
key: { keyCode: 188, shiftKey: true },
symbol: ":",
fullstop: false,
});
hotkeys.set("F1", {
action: (e) => {
e.preventDefault()
console.log("Open help page")
}
})
hotkeys.set("F12", {
action: (e) => {
e.preventDefault()
console.log("Open import page")
goto("/import")
}
})