Missing Key Syms

Florian Festi ffesti at redhat.com
Fri Dec 15 07:13:58 PST 2006


Sorry that it took such a long time for my answer and thanks for your 
comments. But keyboards and keyboard mapping turned out to be a bit more 
complicated than I expected.

Things I found out:

  0. There are still X11 keysyms missing.
  1. There's a one to one mapping from linux kernel keycodes to the 
     sent to X11 (with two small excetions where 2 keycodes are mapped to the
     same scancode)
  2. Current X11 kbd/keyboard driver supports only 240 different keys.
  3. The evdev driver is not production ready yet but would solve that
  4. There are some real world keys that don't even have a linux keycode yet
  5. Support for USB keyboards in linux is quite "basic"

Things to do now:

4. and 5. are addressed by patch that I got into the -mm kernel yesterday.
  The files below already incorporate this change.

2. and 3. making the evdev driver using xkbd seams to be easy but it does
  not work with my fancy Logitech keyboard. Sorry I cannot provide a fix

0. and 1. This allows creating one mapping from scancodes to xkeysyms
  that always works (assuming the kernel is doing the "right thing" (tm)).
  But we need more keysyms to have a complete mapping.

I created a Wiki page on the whole topic (just FYI):

The missing keysyms can found here:
There are still some questions, but things are maturing. As stated at the 
top of the page/file there are still a few open questions. Things I need 
help are:

  * finding the right range(s) for assigning the numbers.
  * use "XF86" prefix for keysyms that are related to XF86 keysyms?
  * using under_scores in the keysyms or not?
  * are the keysym names ok?
  * compile in or convert to XKeysymDB format?

X Keyboard Config stuff:
Xkbd keycodes file for evdev with support for keycodes/scancodes > 255
It currently uses <Xhhh> symbols where hhh is the hex number of the linux 
keycode. Better suggestions are welcome. As this file is generated by a 
script it can be changed quite easily.

Xkbd symbols file that could be used by a "linux" and "evdev" keyboard. I am 
still a bit unshure how to finally integrate it into the rules file (because 
of the geometry section) but this should be solvable somehow.
This file is also script generated.


More information about the xorg mailing list