[
https://issues.apache.org/jira/browse/GUACAMOLE-2161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dilbag Singh updated GUACAMOLE-2161:
------------------------------------
Description:
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.
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.
was:
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.
> 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
> Priority: Minor
> 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.
> 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)