First the keyboard generates a scancode which is mapped to a Linux keycode by the kernel. When running under XFree86 the scancode or the linux keycode is mapped by the X keyboard driver to an X11 keycode which still indicates a Logitech Cordless Desktop LX 500 key on the keyboardand later again to an X keysym which is a more symbolic representation of a logical key. So to make everything work we need to make sure all scancodes have Linux[…]