Some minor questions related to xkb.

Markus Kuhn Markus.Kuhn at cl.cam.ac.uk
Tue Sep 28 02:09:02 PDT 2004


> > And another thing, i found a directory ( cant remember the name now )
> > which cointains a very helpful list that maps symbols to names, like |
> > to bar and æ to aelig ( or something similar ) however it had
> > en_US.UTF-8 and other subdirectories for different character sets, how
> > would i go about configuring my keymap to be UTF-8 rather than say
> > ISO-8859-1 since i need to use some unicode-only symbols.

Keymaps map keys to something called a KEYSYM. This is the first step.
In a completely independent second step, the KEYSYM is mapped to the
character encoding of your locale (ISO 8859-1, UTF-8, etc.).

The KEYSYM encoding is defined in Appendix A of the protocol
spec, see 

  http://www.cl.cam.ac.uk/~mgk25/ucs/X11.keysyms.pdf

for a PDF of the latest version in the CVS, and in

  http://freedesktop.org/cgi-bin/viewcvs.cgi/xorg/xc/include/keysymdef.h?view=markup

Read the comments in the abbove file. You will find that the entire
Unicode character set is now part of the KEYSYM encoding space. All you
have to do is to add 0x01000000 to any Unicode-only value to get the
corresponding KEYSYM for use in your mapping file. This function has
been in XFree86 for several years, but has only recently been added yo
the X protocol spec.

You do not change anything in your keyboard mapping file depending on
the character encoding that you want to get. You are looking at the
wrong layer.

Markus

-- 
Markus Kuhn, Computer Lab, Univ of Cambridge, GB
http://www.cl.cam.ac.uk/~mgk25/ | __oo_O..O_oo__




More information about the xorg mailing list