diff --git a/app/src/config/keymap.ts b/app/src/config/keymap.ts index 32bfa5885..6b9406c3c 100644 --- a/app/src/config/keymap.ts +++ b/app/src/config/keymap.ts @@ -424,9 +424,25 @@ export const keymap = { if (isCtrl(event)) { keymapStr += "⌘"; } - if (event.key !== "Shift" && event.key !== "Alt" && event.key !== "Meta" && event.key !== "Control") { - keymapStr += event.key === "Unidentified" ? "" : - (Constants.KEYCODELIST[event.keyCode] || (event.key.length > 1 ? event.key : event.key.toUpperCase())); + if (event.key !== "Shift" && event.key !== "Alt" && event.key !== "Meta" && event.key !== "Control" && event.key !== "Unidentified") { + if (event.keyCode === 229) { + // windows 中文输入法下 shift + - 等 + if (event.code === "Minus") { + keymapStr += "-"; + } else if (event.code === "Semicolon") { + keymapStr += ";"; + } else if (event.code === "Quote") { + keymapStr += "'"; + } else if (event.code === "Comma") { + keymapStr += ","; + } else if (event.code === "Period") { + keymapStr += "."; + } else if (event.code === "Slash") { + keymapStr += "/"; + } + } else { + keymapStr += Constants.KEYCODELIST[event.keyCode] || (event.key.length > 1 ? event.key : event.key.toUpperCase()); + } } it.setAttribute("data-value", keymapStr); // Mac 中文下会直接输入 diff --git a/app/src/constants.ts b/app/src/constants.ts index f24b1dc0a..1f7bf4025 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -161,7 +161,7 @@ export abstract class Constants { 90: "Z", 91: "⌘", 92: "⌘", - 93: "⌘", + 93: "ContextMenu", 96: "0", 97: "1", 98: "2",