Refactor key detection

This commit is contained in:
Unrud 2022-02-21 22:30:18 +01:00
parent 56cff8deb2
commit ab09e7c674

View file

@ -295,27 +295,33 @@ function handleKeydown(evt) {
if (evt.ctrlKey || evt.altKey || evt.isComposing) { if (evt.ctrlKey || evt.altKey || evt.isComposing) {
return; return;
} }
var key = { var key = null;
"OS": KEY_SUPER, if (evt.key == "OS" || evt.key == "Super" || evt.key == "Meta") {
"Super": KEY_SUPER, key = KEY_SUPER;
"Meta": KEY_SUPER, } else if (evt.key == "Backspace") {
"Backspace": KEY_BACK_SPACE, key = KEY_BACK_SPACE;
"Enter": KEY_RETURN, } else if (evt.key == "Enter") {
"Delete": KEY_DELETE, key = KEY_RETURN;
"Home": KEY_HOME, } else if (evt.key == "Delete") {
"End": KEY_END, key = KEY_DELETE;
"Left": KEY_LEFT, } else if (evt.key == "Home") {
"ArrowLeft": KEY_LEFT, key = KEY_HOME;
"Right": KEY_RIGHT, } else if (evt.key == "End") {
"ArrowRight": KEY_RIGHT, key = KEY_END;
"Up": KEY_UP, } else if (evt.key == "Left" || evt.key == "ArrowLeft") {
"ArrowUp": KEY_UP, key = KEY_LEFT;
"Down": KEY_DOWN, } else if (evt.key == "Right" || evt.key == "ArrowRight") {
"ArrowDown": KEY_DOWN key = KEY_RIGHT;
}[evt.key]; } else if (evt.key == "Up" || evt.key == "ArrowUp") {
if (key != undefined && !evt.shiftKey) { key = KEY_UP;
evt.preventDefault(); } else if (evt.key == "Down" || evt.key == "ArrowDown") {
ws.send("k" + key); key = KEY_DOWN;
}
if (key != null) {
if (!evt.shiftKey) {
evt.preventDefault();
ws.send("k" + key);
}
} else if (evt.key.length == 1) { } else if (evt.key.length == 1) {
evt.preventDefault(); evt.preventDefault();
ws.send("t" + evt.key); ws.send("t" + evt.key);