When using X11 forwarding from non-standard X servers (e.g. XQuartz, Xephyr), the XKB key names reported by the remote server do not match the expected evdev names, causing all keys to map to RDP_SCANCODE_UNKNOWN. Add a keysym-to-scancode lookup table as fallback. Unlike XKB key names, keysyms are standardized across X11 implementations. The fallback only fills keycodes that remain unmapped after the XKB pass, so standard setups are unaffected. Tested with X11 forwarding from Exegol (Docker) via XQuartz on macOS, and natively on Linux and macOS. Related to #4215 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
FreeRDP: A Remote Desktop Protocol Implementation
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience.
Code Quality Status
Resources
Project website: https://www.freerdp.com/
Issue tracker: https://github.com/FreeRDP/FreeRDP/issues
Sources: https://github.com/FreeRDP/FreeRDP/
Downloads: https://pub.freerdp.com/releases/
Wiki: https://github.com/FreeRDP/FreeRDP/wiki
API documentation: https://pub.freerdp.com/api/
Security policy: https://github.com/FreeRDP/FreeRDP/security/policy
FAQ: https://github.com/FreeRDP/FreeRDP/wiki/FAQ
Contact
- Matrix room :
#FreeRDP:matrix.org(main)XMPP channel:no longer available#FreeRDP#matrix.org@matrix.org(bridged)- IRC channel :
#freerdp @ irc.oftc.net(bridged)
- Mailing list: https://lists.sourceforge.net/lists/listinfo/freerdp-devel
Microsoft Open Specifications
Information regarding the Microsoft Open Specifications can be found at: https://www.microsoft.com/openspecifications/
A list of reference documentation is maintained here: https://github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation
Compilation
Instructions on how to get started compiling FreeRDP can be found on the wiki: https://github.com/FreeRDP/FreeRDP/wiki/Compilation