xFreeRDP using X11 Forwarding
No x11 forwarding
When I was experiencing with X11 forwarding (using XQuartz in MacOS) with Exegol; I noticed that I was not able to type in any of the sessions. This issue persisted through every RDP solution, which I found quite annoying.
Fixing the issue
FreeRDP’s client maps keyboard input to RDP scancodes. These are tied to the evdev model. When running over X11 forwarding from non-evdev X servers like XQuartz or Xephyr (for example in my exegol setup), these names don’t match, and every key maps to RDP_SCANCODE_UNKNOWN.
This PR adds a keysym-to-scancode lookup table as a fallback in xf_keyboard.c. After the primary XKB pass, any keycodes still unmapped get resolved via standardized X11 keysyms (XK_a, XK_Return, etc.), which are consistent across all the X11 implementations. The fallback is strict, it never overrides successful XKB mappings, so native Linux setups wont break.
How to fix it
You can either use the latest version from xFreeRDP, or pull the pull request at: https://github.com/FreeRDP/FreeRDP/pull/12354.