Fix shortcut capture ignoring - = ; ' keys (#2047)

* Fix shortcut capture ignoring - = ; ' keys

KEY_MAP was missing Minus/Equal/Semicolon/Quote, so
keyboardEventToComboString returned null for those physical keys and
the capture UI silently dropped them. Add the four entries with their
shifted variants.

Also suppress the Electron View > Zoom accelerators (Cmd+-/=/0) while
capturing, so those combos reach the renderer instead of zooming the
window. Driven by the existing capturingShortcut flag via a new
paseo:menu:set-capturing-shortcut IPC.

* fix: address review feedback from PR #2047

Trim the capturing useEffect so it only fires when capture is active
(removes the redundant on-mount false and the double-fire on true->false),
and reset the main-process capturingShortcut flag on renderer reload via
browser-window-created + did-finish-load so a Cmd+R mid-capture can't
leave the zoom accelerators disabled.

---------

Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
This commit is contained in:
OnCloud
2026-07-14 13:30:32 +02:00
committed by GitHub
co-authored by Mohamed Boudra
parent 9ea58aae0c
commit c0b801b805
6 changed files with 127 additions and 2 deletions
@@ -42,9 +42,13 @@ KEY_MAP["9"].shiftedKey = "(";
KEY_MAP["0"].shiftedKey = ")";
KEY_MAP["Digit"] = { code: "Digit" };
KEY_MAP["-"] = { code: "Minus", key: "-", shiftedKey: "_" };
KEY_MAP["="] = { code: "Equal", key: "=", shiftedKey: "+" };
KEY_MAP["\\"] = { code: "Backslash", key: "\\", shiftedKey: "|" };
KEY_MAP["["] = { code: "BracketLeft", key: "[", shiftedKey: "{" };
KEY_MAP["]"] = { code: "BracketRight", key: "]", shiftedKey: "}" };
KEY_MAP[";"] = { code: "Semicolon", key: ";", shiftedKey: ":" };
KEY_MAP["'"] = { code: "Quote", key: "'", shiftedKey: '"' };
KEY_MAP[","] = { code: "Comma", key: ",", shiftedKey: "<" };
KEY_MAP["."] = { code: "Period", key: ".", shiftedKey: ">" };
KEY_MAP["`"] = { code: "Backquote", key: "`", shiftedKey: "~" };