| Summary: | Keycodes problems with Logitech LX710 | ||
|---|---|---|---|
| Product: | xorg | Reporter: | Marco Chiappero <marco> |
| Component: | Input/evdev | Assignee: | Zephaniah E. Hull <warp-spam+fdo> |
| Status: | RESOLVED DUPLICATE | QA Contact: | Xorg Project Team <xorg-team> |
| Severity: | minor | ||
| Priority: | low | ||
| Version: | 7.2 (2007.02) | ||
| Hardware: | All | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
(In reply to comment #0) > the "kbd" driver and "pc105" as XkbdModel). After some tests I realized that > these keys have a keycode > 255 and so X ignores them. the core protocol can't do more than 255 key codes. we only have 8 bit and this isn't gonna change until X12. > and now every single key is working. But unfortunately mapping keycodes > 255 > into a 8-255 range with the formula X keycode = ((kernel keycode + 8) mod 256 > -- is it right?) makes different keys share the same X keycode. So all the keys > are now working but still some of them are unusable. This seems to be a problem > for a growing number of today's keyboards. Is there any workaround? Is it > possibile to make all the extra keys work without "colliding"? you need two keymaps and flick them arround appropriately. see also http://lists.freedesktop.org/archives/xorg/2007-December/031539.html |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
A few weeks ago I received a brand new Logitech Desktop LX710, including one single USB receiver, one mouse and one keyboard with many extra and multimedia keys. I immediately discovered that many extra keys were non functioning (using the "kbd" driver and "pc105" as XkbdModel). After some tests I realized that these keys have a keycode > 255 and so X ignores them. So I tried modifing my xorg.conf in this way: Section "InputDevice" Identifier "Generic Keyboard" Driver "evdev" Option "Phys" "usb-0000:00:02.0-1/input0" Option "CoreKeyboard" Option "XkbModel" "evdev" Option "XkbLayout" "it" EndSection Section "InputDevice" Identifier "Extra Keyboard" Driver "evdev" Option "Phys" "usb-0000:00:02.0-1/input1" Option "SendCoreEvents" Option "XkbModel" "evdev" Option "XkbLayout" "it" EndSection and now every single key is working. But unfortunately mapping keycodes > 255 into a 8-255 range with the formula X keycode = ((kernel keycode + 8) mod 256 -- is it right?) makes different keys share the same X keycode. So all the keys are now working but still some of them are unusable. This seems to be a problem for a growing number of today's keyboards. Is there any workaround? Is it possibile to make all the extra keys work without "colliding"? However I think that developers should consider adding keycodes support for values grater than 255 without waiting for X12: such keyboards are now the standard for the high and medium level market. Regards