Public bug reported:

SUMMARY
When connecting from a Debian/Ubuntu-based xrdp session to a Windows RDP host 
using Remmina's RDP plugin, keyboard input is incorrectly mapped: arrow keys 
are misinterpreted (e.g. Down arrow triggers Enter/newline) and 'y'/'z' are 
swapped (US/QWERTY vs German/QWERTZ layout confusion). Standalone xfreerdp3, 
using the exact same connection parameters and the exact same active X11 
keyboard layout, connects correctly with no keyboard issues whatsoever.

ENVIRONMENT
- Host: Ubuntu 26.04 "Resolute Raccoon"
- Session: xrdp 0.10.1 + xorgxrdp 1:0.10.2-1build1, XFCE desktop
- Affected packages: remmina 1.4.43+dfsg-0ubuntu0.26.04.2, remmina-plugin-rdp 
(same version)
- Underlying library: libfreerdp3-3, libfreerdp-client3-3, libwinpr3-3, all 
3.30.0+dfsg-0ubuntu0.26.04.1
- Local X11 keyboard layout (confirmed via `setxkbmap -query`): rules=base, 
model=pc105, layout=de
- Target: Windows RDP server on the same LAN

STEPS TO REPRODUCE
1. Connect via Remmina (RDP protocol) from the Ubuntu 26.04 xrdp/XFCE session 
to a Windows RDP server.
2. In a text field on the Windows remote desktop, press 'y' -> 'z' appears 
instead (and vice versa).
3. Press arrow keys (Up/Down/Left/Right) -> Down produces a newline/Enter; 
other arrow keys are similarly non-functional or misinterpreted.

EXPECTED BEHAVIOR
'y'/'z' and arrow keys should behave identically to a direct RDP connection 
using a correctly configured German keyboard layout.

ACTUAL BEHAVIOR
Keyboard layout appears to be forced to a US/QWERTY-like mapping for letters, 
and extended scancodes for navigation keys (arrows) are not translated 
correctly, regardless of the local X11 session's actual keyboard layout.

ADDITIONAL TESTING / ROOT CAUSE NARROWING
- Confirmed the local X11 session layout is correctly set to German (de/pc105) 
via `setxkbmap -query` and further reinforced via xfconf (XFCE keyboard 
settings) to persist across logins.
- Regenerated /etc/xrdp/xrdp_keyboard.ini with `xrdp-genkeymap` while the 
correct German layout was active - no change in Remmina's behavior.
- Ran `xfreerdp3` directly from the command line (same version 3.30.0, same 
target host, same credentials, same active X11 session/layout) with debug 
logging (`/log-level:DEBUG /log-filters:com.freerdp.client.x11:DEBUG`). The 
debug output confirms xfreerdp3 correctly derives extended RDP scancodes from 
the local XKB layout (e.g. UP: keycode 0x98 -> rdp scancode 0x148, DOWN: 
keycode 0x104 -> rdp scancode 0x150) and, when actually connecting, both y/z 
and arrow keys work correctly in the resulting session.
- The exact same problem was reproduced using the Flatpak build of Remmina 
(org.remmina.Remmina from Flathub), ruling out a distro-packaging-specific bug 
in the .deb build alone.
- Downgrading 
remmina/remmina-plugin-rdp/remmina-common/remmina-plugin-exec/remmina-plugin-secret/remmina-plugin-vnc/remmina-plugin-kwallet
 to 1.4.40+dfsg-2ubuntu1 (from the non-updates 'resolute' pocket) did NOT 
resolve the issue.
- The problem reportedly started after an unattended-upgrades run that updated 
libfreerdp-client3-3, libfreerdp-server3-3, libfreerdp3-3, libwinpr3-3, and 
remmina packages together (apt/unattended-upgrades log timestamp: 2026-07-21).
- The same Remmina version family does NOT exhibit this problem when run 
directly from a Fedora 44 workstation connecting to the same Windows RDP host - 
suggesting the issue is specific to this Ubuntu FreeRDP/Remmina build 
combination, or possibly a difference in default keyboard capability 
negotiation (Remmina's RDP plugin sends an explicit InputCapabilitySet 
keyboardLayout field during connection setup, which may not correctly reflect 
the active X11 layout - see also upstream GitLab issue 
https://gitlab.com/Remmina/Remmina/-/issues/2636, "Wrong keyboard mapping using 
RDP, but standalone FreeRDP works", which appears to describe the same 
underlying mechanism though on a different distro).

WORKAROUND
Using xfreerdp3 directly (or via a Remmina "Exec" protocol profile wrapping 
xfreerdp3) avoids the issue entirely, confirming the problem lies specifically 
in how Remmina's RDP plugin negotiates/reports the keyboard layout to the 
FreeRDP core, rather than in libfreerdp3 itself.

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: remmina-plugin-rdp 1.4.43+dfsg-0ubuntu0.26.04.2
ProcVersionSignature: Ubuntu 7.0.0-28.28-generic 7.0.12
Uname: Linux 7.0.0-28-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: pass
Date: Mon Jul 27 09:27:29 2026
InstallationDate: Installed on 2026-04-29 (89 days ago)
InstallationMedia: Ubuntu-Server 26.04 "Resolute Raccoon" - Release amd64 
(20260420.1)
ProcEnviron:
 LANG=de_DE.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
SourcePackage: remmina
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: remmina (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161875

Title:
  remmina-plugin-rdp: arrow keys and y/z keys wrongly mapped when
  connecting to Windows RDP server (regression after security update,
  standalone xfreerdp3 unaffected)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/remmina/+bug/2161875/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to