This commit is contained in:
Vanessa 2022-11-02 19:11:26 +08:00
parent a3877f96d2
commit 9a1f0de288
2 changed files with 5 additions and 2 deletions

View file

@ -342,6 +342,8 @@ export const keymap = {
} else { } else {
keymapStr += Constants.KEYCODE[event.keyCode][0]; keymapStr += Constants.KEYCODE[event.keyCode][0];
} }
} else if (["/", ".", "+", "-", "*"].includes(event.key)) {
keymapStr += event.key;
} else if (event.code.startsWith("Digit") || event.code.startsWith("Key") || event.code.startsWith("Numpad")) { } else if (event.code.startsWith("Digit") || event.code.startsWith("Key") || event.code.startsWith("Numpad")) {
// 新版 Electron 可以支持 Alt["I", "E", "N", "U"],故移除原有判断 // 新版 Electron 可以支持 Alt["I", "E", "N", "U"],故移除原有判断
keymapStr += event.code.substring(event.code.length - 1).toUpperCase(); keymapStr += event.code.substring(event.code.length - 1).toUpperCase();

View file

@ -48,7 +48,7 @@ export const matchHotKey = (hotKey: string, event: KeyboardEvent) => {
if (hotKey.startsWith("⇧") && hotKeys.length === 2) { if (hotKey.startsWith("⇧") && hotKeys.length === 2) {
if (!event.ctrlKey && !isCtrl(event) && !event.altKey && event.shiftKey) { if (!event.ctrlKey && !isCtrl(event) && !event.altKey && event.shiftKey) {
if (event.code.startsWith("Digit") || event.code.startsWith("Numpad")) { if (event.code.startsWith("Digit") || event.code.startsWith("Numpad")) {
if (hotKeys[1] === event.code.slice(-1)) { if (hotKeys[1] === event.code.slice(-1) || event.key === hotKeys[1]) {
return true; return true;
} }
} else if (event.key === hotKeys[1]) { } else if (event.key === hotKeys[1]) {
@ -65,7 +65,8 @@ export const matchHotKey = (hotKey: string, event: KeyboardEvent) => {
} }
let isMatchKey = (/^[0-9]$/.test(keyCode) ? (event.code === "Digit" + keyCode || event.code === "Numpad" + keyCode) : event.code === "Key" + keyCode) || let isMatchKey = (/^[0-9]$/.test(keyCode) ? (event.code === "Digit" + keyCode || event.code === "Numpad" + keyCode) : event.code === "Key" + keyCode) ||
event.code === keyCode; event.code === keyCode ||
event.key === keyCode; // 小键盘上的 /*-+.
if (Constants.KEYCODE[event.keyCode]) { if (Constants.KEYCODE[event.keyCode]) {
if (event.shiftKey) { if (event.shiftKey) {
isMatchKey = Constants.KEYCODE[event.keyCode][1] === keyCode; isMatchKey = Constants.KEYCODE[event.keyCode][1] === keyCode;