Dilbag Singh created GUACAMOLE-2161:
---------------------------------------
Summary: Fix Ctrl/Shift scancode issues for Unicode (RU/EN)
layouts in RDP
Key: GUACAMOLE-2161
URL: https://issues.apache.org/jira/browse/GUACAMOLE-2161
Project: Guacamole
Issue Type: Bug
Components: guacamole, RDP
Affects Versions: 1.6.0
Reporter: Dilbag Singh
Fix For: 1.7.0
When using Guacamole with the Unicode keyboard layout (ru-ru or en-us),
text input works fine but modifier keys (Ctrl, Shift, Alt) do not
trigger correctly inside RDP sessions. This especially breaks
shortcuts like Ctrl+C, Ctrl+V, and Ctrl+Z, as well as Shift-based
capital input in Cyrillic mode.
**Root cause:**
- The existing keyboard.c scancode mapping and Unicode event handler
ignored control key states when switching layouts.
- Unicode events were sent without associated scancode synchronization,
causing RDP to treat Ctrl/Shift as unpressed.
**Fix:**
- Updated `keyboard.c` to properly handle Ctrl, Alt, and Shift state
transitions alongside Unicode key events.
- Ensures Unicode layouts (English and Russian) transmit modifier
combinations correctly to RDP servers.
**Tested on:**
- Guacamole 1.6.0 / 1.7.0 (patched build)
- FreeRDP 2.11.5
- Windows Server 2019 and Windows 10 Pro RDP
Verified results:
- Ctrl+C / Ctrl+V / Ctrl+Z now work in both English and Russian layouts.
- Shift-based capital input functions correctly.
- Layout switching (Alt+Shift) remains functional.
This patch makes Guacamole fully usable in mixed-language (RU/EN)
environments using Unicode keyboard input.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)