* Re: Bug#986561: linux: Regression in drivers/hid/hid-dr.c causing horizontal D-pad to malfunction on SNES joystick
[not found] <161779964431.889220.2857033195611862828.reportbug@malacoda>
@ 2021-04-14 14:02 ` Salvatore Bonaccorso
2021-04-14 17:17 ` Ioan-Adrian Ratiu
0 siblings, 1 reply; 2+ messages in thread
From: Salvatore Bonaccorso @ 2021-04-14 14:02 UTC (permalink / raw)
To: Alessandro Grassi, 986561, Ioan-Adrian Ratiu, Benjamin Tissoires,
Jiri Kosina
Cc: linux-input, linux-kernel
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@aggro.it
>
> 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?
Regards,
Salvatore
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Bug#986561: linux: Regression in drivers/hid/hid-dr.c causing horizontal D-pad to malfunction on SNES joystick
2021-04-14 14:02 ` Bug#986561: linux: Regression in drivers/hid/hid-dr.c causing horizontal D-pad to malfunction on SNES joystick Salvatore Bonaccorso
@ 2021-04-14 17:17 ` Ioan-Adrian Ratiu
0 siblings, 0 replies; 2+ messages in thread
From: Ioan-Adrian Ratiu @ 2021-04-14 17:17 UTC (permalink / raw)
To: Salvatore Bonaccorso, Alessandro Grassi, 986561,
Benjamin Tissoires, Jiri Kosina
Cc: linux-input, linux-kernel
Hi,
On Wed, 14 Apr 2021, Salvatore Bonaccorso <carnil@debian.org>
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@aggro.it 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-14 17:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <161779964431.889220.2857033195611862828.reportbug@malacoda>
2021-04-14 14:02 ` Bug#986561: linux: Regression in drivers/hid/hid-dr.c causing horizontal D-pad to malfunction on SNES joystick Salvatore Bonaccorso
2021-04-14 17:17 ` Ioan-Adrian Ratiu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.