[Xorg] Revision of keysymdef.h
Markus.Kuhn at cl.cam.ac.uk
Mon Aug 9 09:54:42 PDT 2004
Over the years, a number of problems have piled up with <X11/keysymdef.h>,
which I have set out to sort out.
These are in particular:
- Xfree86 has added since X11R6.4 was released in 1999 and 2000 a large
number of new macro definitions that are neither in line with the X11
protocols specification (Appendix A), nor have all of them been
checked charefully against the Unicode standard.
- The X11 standard lacks so far an official clarification of the
relationship between keysyms and Unicode
I have therefore reviewed, which keysyms are actually used in kbd
mapping files and have substantially reworked and cleaned up the <X11/
keysymdef.h> file. The result is available on
The database file that I have prepared to control the changes
made is on
and it contains further background information in the form of
comments and a status column for each keysym.
Quick summary of the changes:
- I have preserved as newly added keysyms in the range reserved
for the X11 standard only the following ones, as they are widely used
now in XFree86 keyboard mapping files:
These will have to be added to Appendix A of the protocols spec.
- A large number of Armenian, Gregorian, Irish, Arabic, Cyrillic,
Caucasus, and Vietnamese keysym macros were added by Pablo Saratxaga
on 1999-06-06 and 2000-10-27. With a very small number of exotic
exceptions, none of these keysyms are at present used in any
As many of them look useful, I have decided to remap them directly
into the Unicode range by adding 0x01000000 to their Unicode value.
This way, these keysyms will not have to be added to the X11 standard,
as they are implicitely defined by ISO 10646.
- I have also moved the currency symbol in the 0x20xx range
to the Unicode mapping range, with the exception of the EuroSign,
which is the only one of these that is actually used in keyboard
- I have added as comments to each keysym for which there exists
a direct or approximate Unicode equivalent the Unicode position
and name of this character.
- Various minor editorial fixes for better consistency, comments
added that clarify the Unicode mapping rule.
Unless someone shouts with an objection, I will submit these for inclusion
into the X.Org and XFree86 trees soon.
Proposed update to the X11 standard will follow shortly.
Markus Kuhn, Computer Laboratory, University of Cambridge
http://www.cl.cam.ac.uk/~mgk25/ || CB3 0FD, Great Britain
More information about the xorg