[Bug 205501] x11/xorg fails to handle Logitech Illuminated Keyboard multimedia uhid.

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Dec 22 22:42:02 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205501

--- Comment #2 from Mason Loring Bliss <mason at blisses.org> ---
usbhidaction is problematic in this case.

The issue I had with using usbhidaction is that I needed to patch it, as it 
was getting "range" values back from my multimedia keys by default.

I'd want to test this, but my ugly hack to get readable values from the
multimedia keys was:

$ diff -u usbhidaction.c*
--- usbhidaction.c      2015-12-22 16:05:40.508177432 -0500
+++ usbhidaction.c.patched      2015-12-22 16:06:45.804170602 -0500
@@ -447,7 +447,7 @@
                cmd->item = h;
                cmd->name = strdup(name);
                cmd->action = strdup(action);
-               if (range) {
+               if (range & 0) {
                        if (cmd->value == 1)
                                cmd->value = u - lo;
                        else


At least, that's my recollection. I went from there to thinking that we were
misclassifying the device in the kernel, but after that I noted Xorg.0.log on
Linux where evdev is evidently also seeing a device that can present a range 
of values, but was doing the right thing with it.

Is moving to evdev a possibility, or is it hopelessly tied to Linux? Do we
instead want to make this work with FreeBSD's usbhidaction without
modification? I remember starting to look for a quirk table or similar I could
update to prevent this device from being detected as presenting ranged values,
but I hadn't found the right thing by the time I gave up.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-x11 mailing list