Files
clash-verge-rev/src/utils/parse-hotkey.ts
T
oomeow a1286ad057 fix: always occupies hotkey globally when app launch silently (#5866)
* fix: always occupies hotkey when app launch silently

* docs: update Changelog.md

* chore: update
2025-12-18 22:21:15 +08:00

41 lines
890 B
TypeScript

import { KeyboardEvent } from "react";
import getSystem from "./get-system";
const OS = getSystem();
export const parseHotkey = (keyEvent: KeyboardEvent) => {
const nativeEvent = keyEvent.nativeEvent;
const key = nativeEvent.code;
let temp = key.toUpperCase();
if (temp.startsWith("ARROW")) {
temp = temp.slice(5);
} else if (temp.startsWith("DIGIT")) {
temp = temp.slice(5);
} else if (temp.startsWith("KEY")) {
temp = temp.slice(3);
} else if (temp.endsWith("LEFT")) {
temp = temp.slice(0, -4);
} else if (temp.endsWith("RIGHT")) {
temp = temp.slice(0, -5);
}
switch (temp) {
case "CONTROL":
return "CTRL";
case "ALT":
if (OS === "macos") {
return "OPTION";
} else {
return "ALT";
}
case "META":
return "CMD";
case " ":
return "SPACE";
default:
return temp;
}
};