fix: shift hotkey conversion fixer #2278

This commit is contained in:
huzibaca 2024-12-04 13:19:56 +08:00
parent 49880c05d9
commit 30f0c99a58

View File

@ -10,6 +10,17 @@ const KEY_MAP: Record<string, string> = {
",": "Comma",
".": "Period",
"/": "Slash",
// 数字键映射
"1": "Digit1",
"2": "Digit2",
"3": "Digit3",
"4": "Digit4",
"5": "Digit5",
"6": "Digit6",
"7": "Digit7",
"8": "Digit8",
"9": "Digit9",
"0": "Digit0",
// Option + 特殊字符映射
"": "Minus", // Option + -
"≠": "Equal", // Option + =
@ -57,7 +68,52 @@ const mapKeyCombination = (key: string): string => {
};
export const parseHotkey = (key: string) => {
let temp = key.toUpperCase();
console.log(temp);
// 处理特殊符号到键位的映射
switch (temp) {
// 数字键符号
case "!":
return "DIGIT1"; // shift + 1
case "@":
return "DIGIT2"; // shift + 2
case "#":
return "DIGIT3"; // shift + 3
case "$":
return "DIGIT4"; // shift + 4
case "%":
return "DIGIT5"; // shift + 5
case "^":
return "DIGIT6"; // shift + 6
case "&":
return "DIGIT7"; // shift + 7
case "*":
return "DIGIT8"; // shift + 8
case "(":
return "DIGIT9"; // shift + 9
case ")":
return "DIGIT0"; // shift + 0
// 其他特殊符号
case "?":
return "SLASH"; // shift + /
case ":":
return "SEMICOLON"; // shift + ;
case "+":
return "EQUAL"; // shift + =
case "_":
return "MINUS"; // shift + -
case '"':
return "QUOTE"; // shift + '
case "<":
return "COMMA"; // shift + ,
case ">":
return "PERIOD"; // shift + .
case "{":
return "BRACKETLEFT"; // shift + [
case "}":
return "BRACKETRIGHT"; // shift + ]
case "|":
return "BACKSLASH"; // shift + \
}
if (temp.startsWith("ARROW")) {
temp = temp.slice(5);