KeySyms

Revision of the keysym specification

In X11, keysym numbers are used to represent the symbols visible on the keycaps of a keyboard. They represent either characters or function keys. The existing keysym scheme predates the introduction of Unicode/ISO 10646 by several years. Just like Unicode, the keysym scheme attempted to define a unification of many of the older existing coded character set standards.

Why are changes to the standard necessary?

Solutions

Main.MarkusKuhn has suggested back in 1999 (and implemented long ago in XFree86 xterm) that any Unicode/ISO 10646 character in the range U0100 to U10FFFF can be represented by a keysym value in the range 0x01000100 to 0x0110FFFF. The Latin-1 characters in the first row of ISO 10646 (U0000 to U00FF) are already represented by keysyms with the same value.

Suggested changes to the standard

Problems

Some minor issues relating to mappings between Unicode and keysyms:

All of these probably ought to be declared deprecated, and perhaps even be removed from the standard at some point.

Other issues that ought to be fixed

Draft patches

These are now in a quite mature state, address all of the above issues, and are ready for final review:

Open issues

-- Main.MarkusKuhn - 16 Aug 2004