x11proto/keysymdef.h and libX11/src/KeyBind.c have gotten out of sync
Submitted by James Cloos
Assigned to Xorg Project Team
A comment in x11proto/xkeysymdef.h says to keep it in sync with xc/lib/X11/KeyBind.c (now libX11/src/KeyBind.c) and the protocol definition in xc/doc/specs/XProtocol/X11.keysyms (now xorg-docs/specs/XProtocol/X11.keysyms).
I’m preparing a patch for the latter.
As for KeyBind.c, I see two issues:
First, it #defines a subset of the #ifdefs in keysymdef.h before explicitly #including it. That could be cured by #including keysym.h instead, which already does that heavy lifting, and is more likely to be kept in sync with keysymdef.h.
Second, it has code to do case mapping, but that — according to the comments — has not been updated to reflect characters added to the UCS since Unicode version 4.0. That likely should be expanded to include the new characters.