case insensitive

This commit is contained in:
Adrien MALINGREY 2023-07-17 19:35:48 +02:00
parent dd25b0a891
commit 38a9dcfad4

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 return keyName in obj ? obj[keyName] : keyName.toLowerCase()
} }
}) })
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 in obj ? obj[keyName] : keyName return keyName.toLowerCase() in obj ? obj[keyName] : keyName.toUpperCase()
} }
}) })
@ -38,6 +38,7 @@ class Settings {
this.key = new Proxy(keyMaps, { this.key = new Proxy(keyMaps, {
set(km, action, key) { set(km, action, key) {
key = key.toLowerCase()
km.action[key] = action km.action[key] = action
return km.key[action] = jsKeyRenamer[key] return km.key[action] = jsKeyRenamer[key]
}, },
@ -50,14 +51,15 @@ 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] = action
}, },
has(km, key) { has(km, key) {
return key in km.action return key.toLowerCase() in km.action
}, },
get(km, key) { get(km, key) {
return km.action[key] return km.action[key.toLowerCase()]
} }
}) })