Vanessa 2022-09-02 12:17:10 +08:00
parent bb0995eb6b
commit e1e8eb464b
9 changed files with 77 additions and 49 deletions

View file

@ -69,17 +69,21 @@ export const matchHotKey = (hotKey: string, event: KeyboardEvent) => {
// 是否匹配 ⇧⌘[] / ⌘[]
const hasShift = hotKeys.length > 2 && (hotKeys[0] === "⇧");
let key = (hasShift ? hotKeys[2] : hotKeys[1]);
if (hasShift // 更新 electron 后不需要判断 mac && !/Mac/.test(navigator.platform)
) {
let keyCode
// 更新 electron 后不需要判断 Mac但 Mac 下中英文有区别,需使用 keyCode 辅助
if (hasShift) {
if (key === "-") {
key = "_";
keyCode = 189;
} else if (key === "=") {
key = "+";
keyCode = 187;
} else if (key === ".") {
key = ">";
keyCode = 190;
}
}
if (isCtrl(event) && event.key.toLowerCase() === key.toLowerCase() && !event.altKey
if (isCtrl(event) && (event.key.toLowerCase() === key.toLowerCase() || event.keyCode === keyCode) && !event.altKey
&& ((!hasShift && !event.shiftKey) || (hasShift && event.shiftKey))) {
return true;
}