case insensitive

This commit is contained in:
Adrien MALINGREY 2023-07-18 02:44:04 +02:00
parent 6004cbbbde
commit 12fb307041

View File

@ -1,29 +1,29 @@
let jsKeyRenamer = new Proxy({ let jsKeyRenamer = new Proxy({
["←"]: "arrowleft", ["←"]: "ArrowLeft",
["→"]: "arrowright", ["→"]: "ArrowRight",
["↑"]: "arrowup", ["↑"]: "ArrowUp",
["↓"]: "arrowdown", ["↓"]: "ArrowDown",
["Espace"]: " ", ["Espace"]: " ",
["Échap."]: "escape", ["Échap."]: "Escape",
["Ret. arrière"]: "backspace", ["Ret. arrière"]: "Backspace",
["Entrée"]: "enter", ["Entrée"]: "Enter",
}, { }, {
get(obj, keyName) { get(obj, keyName) {
return keyName in obj ? obj[keyName] : keyName.toLowerCase() return keyName in obj ? obj[keyName] : keyName
} }
}) })
let friendyKeyRenamer = new Proxy({ let friendyKeyRenamer = new Proxy({
["arrowleft"]: "←", ["ArrowLeft"]: "←",
["arrowright"]: "→", ["ArrowRight"]: "→",
["arrowup"]: "↑", ["ArrowUp"]: "↑",
["arrowdown"]: "↓", ["ArrowDown"]: "↓",
[" "]: "Espace", [" "]: "Espace",
["escape"]: "Échap.", ["Escape"]: "Échap.",
["backspace"]: "Ret. arrière", ["Backspace"]: "Ret. arrière",
["enter"]: "Entrée", ["Enter"]: "Entrée",
}, { }, {
get(obj, keyName) { get(obj, keyName) {
return keyName.toLowerCase() in obj ? obj[keyName] : keyName.toUpperCase() return keyName in obj ? obj[keyName] : keyName.toUpperCase()
} }
}) })
@ -38,9 +38,9 @@ class Settings {
this.key = new Proxy(keyMaps, { this.key = new Proxy(keyMaps, {
set(km, action, key) { set(km, action, key) {
key = key.toLowerCase() key = jsKeyRenamer[key]
km.action[key] = action km.action[key.toLowerCase()] = action
return km.key[action] = jsKeyRenamer[key] return km.key[action] = key
}, },
has(km, action) { has(km, action) {
return action in km.key return action in km.key
@ -51,9 +51,8 @@ class Settings {
}) })
this.action = new Proxy(keyMaps, { this.action = new Proxy(keyMaps, {
set(km, key, action) { set(km, key, action) {
key = key.toLowerCase()
km.key[action] = key km.key[action] = key
return km.action[key] = action return km.action[key.toLowerCase()] = action
}, },
has(km, key) { has(km, key) {
return key.toLowerCase() in km.action return key.toLowerCase() in km.action