On Wed, 30 Apr 2008, Kevin Milburn wrote: > I can now use all the extra keys which result in a keycode of less than > 255, which appears to be a limitation within the Xorg evdev driver. Yes, exactly. See for example http://bugs.freedesktop.org/show_bug.cgi?id=11227 > Secondly, the primary reason for trying the above was to obtain the > scancodes Just a sidenote -- USB keyboards have concept of "usage codes", rather than "scancodes". > so I could alter the keycodes to work with X. Trying to alter one of > the working scancodes (e071) to a new keycode using the setkeycodes > command failed with an 'Invalid Argument'. Newer kernels have hidinput_setkeycode() callback, which should allow setting the usage code <-> keycode association using 'setkeycodes'. Could you please post hid debugging output? -EINVAL should be returned only in the following cases: - (keycode < 0 || keycode > KEY_MAX). - the usage code you have specified is not supported by the keyboard, according to its report descriptor (see hidinput_setkeycode() code). > Further research lead me to a comment indicating that setkeycodes does > not work on USB keyboards. If this is correct (which it seems to be), > is there any other way of altering the keycodes generated by the kernel? The support for setkeycodes working with USB keyboards has been added in commit fe7ba31fead. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html