From 219f375aebf0ab1bf2fa2b6515efecdf0394bb71 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 4 Mar 2024 15:49:26 +0700 Subject: [PATCH] fix(developer): Treat Right Shift as Shift in debugger Fixes #10915. Note that a more systemic fix to keyman core will involve ensuring that the debug list is always properly terminated, but that does not need to happen in beta. --- developer/src/tike/child/UfrmDebug.pas | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/developer/src/tike/child/UfrmDebug.pas b/developer/src/tike/child/UfrmDebug.pas index 0dad51d1bf..9a578702d8 100644 --- a/developer/src/tike/child/UfrmDebug.pas +++ b/developer/src/tike/child/UfrmDebug.pas @@ -434,6 +434,13 @@ begin // mapping; the best way to do this is to extract the scan code from // the message data and work from that vkey := MapScanCodeToUSVK((Message.LParam and $FF0000) shr 16); + + // We don't support the Right Shift modifier in Keyman; + // we treat it as Left Shift, even though MapScanCodeToUSVK + // recognizes it + if vkey = VK_RSHIFT then + vkey := VK_SHIFT; + modifier := 0; if GetKeyState(VK_LCONTROL) < 0 then modifier := modifier or KM_CORE_MODIFIER_LCTRL;