Re: support for Logitech Wave
From: Jiri Kosina <hidden>
Date: 2008-05-07 09:36:22
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