Description of problem: Ok, this is annoying as all get out. Not all keyboards send the same codes. We don't have the equivalent of .inf files as Windows. I propose the following two solutions (one or both should be freedesktop.org like standards): First, on install a program should come up that can understand the keycodes that you get setkeycode messages about (such as e01e) so that if it is an extended keycode, it can still be used. This program should automatically decide on the best keycode (0-255 it looks like) for the kernel. It should ask which of all the standard multimedia/internet/extended keys the user's keyboard has and help them map it to all of those such as XF86AudioPlay (as found in /usr/share/X11/XKeysymDB). This should be able to be skipped, only enter some, or enter all. It should come up on upgrade. It should be a tool the user can user later (in case of changing keyboards like i just did). This program should then write out the file needed for the kernel and for X which will get run/loaded whenever they start. Second, we need an .inf feature. If we can just write a loader that is part of the above program that reads Windows .inf files for keyboards, great. If not, a standard needs to be created and companies encouraged to provide them for Linux users. This definitely needs to be compatible with all F/OSS operating systems and, if possible, Apple OS X. Thank you for taking me seriously and fixing this gaping usability hole. (On a side note, rhythmbox should use the keys setup in GNOME keyboard shortcuts... not demanding to use XF86Audio*.)
This should be handled in HAL (and then making sure that things are using HAL)
Not really a HAL issue per say. HAL could support it in the future by mapping keyboards it knows about but I don't think all keyborads give that info (for instance ps2 keyboards or bluetooth which HAL does not support yet). In any case this should be descussed upstream, not at the distro level. I suggest bringing this up on the HAL list, they should know other people who have more knowledge about the keycode issues.