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.