|
|
@ -146,7 +146,17 @@
|
|
|
|
// Handle keypresses
|
|
|
|
// Handle keypresses
|
|
|
|
window.addEventListener('keydown', (event) => {
|
|
|
|
window.addEventListener('keydown', (event) => {
|
|
|
|
// Ignore modifier keys
|
|
|
|
// Ignore modifier keys
|
|
|
|
if (event.ctrlKey || event.metaKey) { return; }
|
|
|
|
if (event.ctrlKey || event.metaKey) return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Ignore shortcuts if any text input is focused
|
|
|
|
|
|
|
|
let focused_tag = document.activeElement.tagName.toLowerCase();
|
|
|
|
|
|
|
|
let focused_type = document.activeElement.type.toLowerCase();
|
|
|
|
|
|
|
|
let allowed = /^(button|checkbox|file|radio|submit)$/;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (focused_tag === "textarea" ||
|
|
|
|
|
|
|
|
(focused_tag === "input" && !focused_type.match(allowed))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
// Focus search bar on '/'
|
|
|
|
// Focus search bar on '/'
|
|
|
|
if (event.key == "/") {
|
|
|
|
if (event.key == "/") {
|
|
|
|