mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 03:13:44 +08:00
fix: shift hotkey conversion fixer #2278
This commit is contained in:
parent
c11efcb9be
commit
589324b582
@ -10,6 +10,17 @@ const KEY_MAP: Record<string, string> = {
|
|||||||
",": "Comma",
|
",": "Comma",
|
||||||
".": "Period",
|
".": "Period",
|
||||||
"/": "Slash",
|
"/": "Slash",
|
||||||
|
// 数字键映射
|
||||||
|
"1": "Digit1",
|
||||||
|
"2": "Digit2",
|
||||||
|
"3": "Digit3",
|
||||||
|
"4": "Digit4",
|
||||||
|
"5": "Digit5",
|
||||||
|
"6": "Digit6",
|
||||||
|
"7": "Digit7",
|
||||||
|
"8": "Digit8",
|
||||||
|
"9": "Digit9",
|
||||||
|
"0": "Digit0",
|
||||||
// Option + 特殊字符映射
|
// Option + 特殊字符映射
|
||||||
"–": "Minus", // Option + -
|
"–": "Minus", // Option + -
|
||||||
"≠": "Equal", // Option + =
|
"≠": "Equal", // Option + =
|
||||||
@ -57,7 +68,52 @@ const mapKeyCombination = (key: string): string => {
|
|||||||
};
|
};
|
||||||
export const parseHotkey = (key: string) => {
|
export const parseHotkey = (key: string) => {
|
||||||
let temp = key.toUpperCase();
|
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")) {
|
if (temp.startsWith("ARROW")) {
|
||||||
temp = temp.slice(5);
|
temp = temp.slice(5);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user