Hi,
On Wed, 14 Apr 2021, Salvatore Bonaccorso <carnil@xxxxxxxxxx>
wrote:
Hi Ioan-Adrian,
On Wed, Apr 07, 2021 at 02:47:24PM +0200, Alessandro Grassi
wrote:
Source: linux Severity: normal Tags: upstream X-Debbugs-Cc:
alessandro@xxxxxxxx Greetings, I am encountering the issue
described in this thread[1], using a gamepad identified as
"DragonRise" with USB ID 0079:0011. The joypad works as
intended except for the D-pad: up and down are detected in
jstest (though misinterpreted: the input graph shows the points
in the left up/down corners instead of the center), the left
and right buttons are completely ignored. Running
'input-events' shows events 0/127 and 255/127 on up and down
respectively, nothing at all on left and right. I was able to
identify that the misbehaviour was caused by this commit[2] on
the kernel source tree. To determine this I have rebuilt the
Debian kernel using hid-dr.c from the previous commit[3] and
loaded hid-dr.ko manually, with which the gamepad worked as
intended. I have replaced the file again with the one from the
breaking commit iself ([2]) and the behaviour was again broken.
Furthermore, to confirm that that was the breaking commit, I
have commented line 315 (the input mapping one in the struct)
from the current Debian source tree and rebuilt it, the joypad
works as it should. Regards, Alessandro [1]:
https://retropie.org.uk/forum/topic/25657/controler-issue-no-left-and-right-not-working-at-all
[2]:
https://github.com/torvalds/linux/commit/e15944099870f374ca7efc62f98cf23ba272ef43
[3]:
https://github.com/torvalds/linux/commit/313726cad3b68039c8e4dcad5a2840a0d375678c
A user in Debian reported that e15944099870 ("HID: hid-dr: add
input mapping for axis selection") introduced a regression,
described above.
Does this ring some bell to you?
Unfortunately no and I do not have the HW to test anymore.
It is possible that change introduced a regression on newer
"DragonRise" gamepads and maybe that mapping logic needs to be a
bit more complex, depending on the HW differences.
Sorry I can't be more helpful,
Adrian
Regards,
Salvatore