[Xorg] Revision of keysymdef.h
Markus Kuhn
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
http://www.cl.cam.ac.uk/~mgk25/ucs/keysymdef.h
The database file that I have prepared to control the changes
made is on
http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt
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:
0x06ad Ukrainian_ghe_with_upturn
0x06bd Ukrainian_GHE_WITH_UPTURN
0xfe60 dead_belowdot
0xfe61 dead_hook
0xfe62 dead_horn
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
XFree86 files.
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
mapping files.
- 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
--
Markus Kuhn, Computer Laboratory, University of Cambridge
http://www.cl.cam.ac.uk/~mgk25/ || CB3 0FD, Great Britain
More information about the xorg
mailing list