Thread (5 messages) flat view 5 messages, 2 authors, 2015-08-12

Re: [PATCH] HID: gembird: add new driver to fix Gembird JPD-DualForce 2

From: Benjamin Tissoires <hidden>
Date: 2015-08-12 17:34:11

On Aug 12 2015 or thereabouts, Orivej Desh wrote:
-linux-kernel@vger.kernel.org
-jkosina@suse.com

* Benjamin Tissoires
quoted
Hmm... This was actually my first shot, and I noticed that the
flickering original Z axis was now taking over the correct X axis. So
that's why I added some complexity to ignore at the HID level this axis.
I just forgot to update the comment :)
How did you notice that?  Is there a tool in hid-replay?  I did not test
I used evemu-record (package evemu) to see at the raw outputs from the
kernel.
my edition of the patch extensively because I did not expect such a
subtle difference.  Yet I did not observe flickering when joypad was
idle.
There might be filtering on the userspace side for X/Y, that would
explain.
I assumed that the commit that hid Rx axis in 3.18 by calling
"map_abs_clear(usage->hid & 0xf);" effectively removed any influence of
repeated axes in report description, but now it seems I am wrong.  Would
you explain what it really did?
It did remove the repeated axes. When you call map_abs(), it tries to
map the given HID axis to the corresponding evdev axis. But if this axis
is already mapped to an existing HID axis, it tries the next one. This
works OK for miscellaneous axes, but not for the ones that are actually
used and have a true semantic. By calling map_abs_clear(), the evdev
axis is left untouched, so the next time it is mapped, it does not try
the next one.
quoted
If you think this patch is good enough (you will get flickering X), we
can carry on this one, but I think the one I submitted (with the comment
edited) would provide a better experience.
In this case I certainly prefer your original patch.
OK. I'll amend the comment in the patch and resubmit then.

Cheers,
Benjamin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help