[Bug 52841] New: leverless arcade controller SOCD cleaning regression
WineHQ Bugzilla
wine-bugs at winehq.org
Tue Apr 19 20:24:33 CDT 2022
https://bugs.winehq.org/show_bug.cgi?id=52841
Bug ID: 52841
Summary: leverless arcade controller SOCD cleaning regression
Product: Wine
Version: 7.0
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs at winehq.org
Reporter: namtsui at gmail.com
Distribution: ---
Created attachment 72236
--> https://bugs.winehq.org/attachment.cgi?id=72236
fix
downstream bug: https://github.com/ValveSoftware/Proton/issues/5527
There is a regression in wine SDL. I tested wine 7.0 using Linux 5.17.2. I
think this is the commit to blame:
https://github.com/wine-mirror/wine/commit/9cf1e8353cf05af1009e3e5d40b62f0e70761f3f
See the file: wine-7.0/dlls/winebus.sys/bus_sdl.c
https://github.com/wine-mirror/wine/blob/6d4ec1255acceec7152ed98764ee29991ac04f10/dlls/winebus.sys/bus_sdl.c#L850-L855
Leverless arcade controllers have all-buttons. One such controller is the
hitbox controller from the company hitbox. It has four directional buttons
mapped to DPAD. It has simultaneous opposite cardinal direction (SOCD)
cleaning. If you hold down + up, it should output up. If you hold left + right,
it should output nothing at all (neutral).
I added print statements. See the attached fix.
In clip 1, I demonstrate SDL2 events when down and up are held simultaneously
during a jump for a while:
hold down (DOWN press event)
hold up (DOWN release event. UP press event.)
hold both for a while
release all (UP release event. DOWN release event.)
[1] https://clips.twitch.tv/PlausibleSparklingButterJonCarnage-1nJQjUmS_kATb5Y6
In clip 2 the actual bug is shown.
hold down (DOWN press event)
press up (DOWN release event. UP press event.)
steps 1 to 2 were demonstrated in clip 1.
release up (DOWN press event. UP release event.)
keep holding down
[2] https://clips.twitch.tv/FunnyPlayfulClintmullinsArgieB8-p3pUOVQuS-eA8oqi
The UP release event at the end in step 3 causes the axis to be reset to 0.
This ignores the DOWN press event immediately preceding it.
Clip 3 shows after the proposed fix is applied.
[3] https://clips.twitch.tv/RacyNeighborlyCookiePeteZaroll-2wwLnflwjAa3ZlFz
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list