feat: function key mapping
This commit is contained in:
@@ -662,6 +662,72 @@ function shouldHandleShortcut(target) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function actionButton(id) {
|
||||
return document.getElementById(id);
|
||||
}
|
||||
|
||||
function triggerActionButton(id) {
|
||||
const button = actionButton(id);
|
||||
if (!button || button.disabled) {
|
||||
return false;
|
||||
}
|
||||
button.click();
|
||||
return true;
|
||||
}
|
||||
|
||||
function actionShortcutHandled(event) {
|
||||
const altOnly = event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
|
||||
const noModifiers = !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
|
||||
|
||||
if (noModifiers) {
|
||||
if (event.key === "F3") {
|
||||
return triggerActionButton("view-btn");
|
||||
}
|
||||
if (event.key === "F4") {
|
||||
return triggerActionButton("edit-btn");
|
||||
}
|
||||
if (event.key === "F5") {
|
||||
return triggerActionButton("copy-btn");
|
||||
}
|
||||
if (event.key === "F6") {
|
||||
return triggerActionButton("move-btn");
|
||||
}
|
||||
if (event.key === "F7") {
|
||||
return triggerActionButton("mkdir-btn");
|
||||
}
|
||||
if (event.key === "F8") {
|
||||
return triggerActionButton("delete-btn");
|
||||
}
|
||||
}
|
||||
|
||||
if (altOnly) {
|
||||
const key = event.key.toLowerCase();
|
||||
if (key === "3") {
|
||||
return triggerActionButton("view-btn");
|
||||
}
|
||||
if (key === "4") {
|
||||
return triggerActionButton("edit-btn");
|
||||
}
|
||||
if (key === "5") {
|
||||
return triggerActionButton("copy-btn");
|
||||
}
|
||||
if (key === "6") {
|
||||
return triggerActionButton("move-btn");
|
||||
}
|
||||
if (key === "7") {
|
||||
return triggerActionButton("mkdir-btn");
|
||||
}
|
||||
if (key === "8") {
|
||||
return triggerActionButton("delete-btn");
|
||||
}
|
||||
if (key === "r") {
|
||||
return triggerActionButton("rename-btn");
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function wildcardPopupElements() {
|
||||
return {
|
||||
overlay: document.getElementById("wildcard-popup"),
|
||||
@@ -958,6 +1024,11 @@ function handleKeyboardShortcuts(event) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (actionShortcutHandled(event)) {
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.shiftKey && event.key === "+") {
|
||||
event.preventDefault();
|
||||
openWildcardPopup("select");
|
||||
|
||||
Reference in New Issue
Block a user