https://bugs.winehq.org/show_bug.cgi?id=56883
Bug ID: 56883 Summary: Dualshock bumpers registering as two buttons on wine 9.9 and later Product: Wine Version: 9.9 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: quackdoctech@gmail.com Distribution: ---
As of wine 9.9 and later a dualshock (Playstation 5) controller when connected via bluetooth and only bluetooth, the left and right bumpers will trigger two button presses at the same time.
Right bumper will trigger the buttons number 5 and 13 instead of just 5 Left bumper will trigger the buttons number 4 and 13 instead of just 4
https://bugs.winehq.org/show_bug.cgi?id=56883
quackdoctech@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Dualshock bumpers |DualSense bumpers |registering as two buttons |registering as two buttons |on wine 9.9 and later |on wine 9.9 and later
https://bugs.winehq.org/show_bug.cgi?id=56883
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |hardware
--- Comment #1 from Austin English austinenglish@gmail.com --- Did this work in previous versions? If so, can you run a regression test: https://wiki.winehq.org/Regression_Testing
https://bugs.winehq.org/show_bug.cgi?id=56883
--- Comment #2 from quackdoctech@gmail.com --- I was able to bisect the issue down to c708295ed6de3eca5a5406ed886904fd5c398053
http://bugs.winehq.org/show_bug.cgi?id=56883
clai@gathernorust.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |clai@gathernorust.net
--- Comment #3 from clai@gathernorust.net --- As per first post I am also seeing this behavior; Dualsense bumpers since wine 9.9 send two buttons when in hidraw on Bluetooth specifically. Physical R1 press reports R1 and Touchpad Click in dinput, physical L1 press reports L1 and Mic Mute in dinput. The touchpad click and mic mute physical buttons do not report any button to dinput.
This breaks software with native Dualsense support that use both inputs mapped to one button, ie. Zenless Zone Zero. R1 is expected to switch character, but brings up the pause menu instead (touchpad click).
This is not an issue when Dualsense is connected via USB, each button correctly reports as a separate input and works properly with games that natively support Dualsense and use all of these inputs.
I am observing this behavior since Wine 9.9-10.9 (present). 9.8 and earlier do not exhibit this issue.
http://bugs.winehq.org/show_bug.cgi?id=56883
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Regression SHA1| |c708295ed6de3eca5a5406ed886 | |904fd5c398053 CC| |rbernon@codeweavers.com
--- Comment #4 from Ken Sharp imwellcushtymelike@gmail.com --- (In reply to quackdoctech from comment #2)
I was able to bisect the issue down to c708295ed6de3eca5a5406ed886904fd5c398053
winebus: Move Sony controllers report fixups to PE side.
http://bugs.winehq.org/show_bug.cgi?id=56883
--- Comment #5 from Cameron Kelly clai@gathernorust.net --- Created attachment 78837 --> http://bugs.winehq.org/attachment.cgi?id=78837 Patch for dlls/winebus.sys/main.c
Patches dlls/winebus.sys/main.c, process_hid_report function regarding Dualsense Bluetooth reports. Adjusts memmove to shift 11 bytes instead of 10, including extra button state byte for Dualsense Bluetooth input report.
Resolves unusable inputs "Home Button", "Mic Button" and "Touchpad Click" (and R1/L1 mis-reporting extra buttons) on Dualsense controller used with hidraw
http://bugs.winehq.org/show_bug.cgi?id=56883
--- Comment #6 from Cameron Kelly clai@gathernorust.net --- Hey all, could we get this confirmed please? This one is pretty easy to replicate and fix.
Can replicate with Playstation Dualsense Controller and compatible Bluetooth adapter:
1. Pair Dualsense 2. Run 'control' with latest Wine, hidraw enabled 3. Go to Game Controllers -> Dinput tab 4. Press R1/L1, observe two inputs firing per button 5. Click touchpad or press PS home button, observe no inputs firing
Optional: repeat with Dualsense wired with USB, observe all inputs working correctly
Cause is a memmove statement in dlls/winebus.sys/main.c that is one byte too short in length, mangling the bluetooth input report for Dualsense. See attached patch for specifics.
Bug is still present in Wine git master as of comment.
http://bugs.winehq.org/show_bug.cgi?id=56883
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Keywords| |patch
--- Comment #7 from Austin English austinenglish@gmail.com --- Confirming.
http://bugs.winehq.org/show_bug.cgi?id=56883
paul@oberbauer.co changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |paul@oberbauer.co
--- Comment #8 from paul@oberbauer.co --- As this has become stale and I would like to have this fix implemented I do not know if my post here is appreciated.
I can however confirm that building wine using the diff posted by Cameron Kelly I was able to use my controller again as intended in game (tested with Genshin Impact - native Playstation controller support).
Hopefully it will be implemented soon. Thanks for your hard work.
http://bugs.winehq.org/show_bug.cgi?id=56883
--- Comment #9 from Cameron Kelly clai@gathernorust.net --- Appears to be finally resolved in latest master, thanks Rémi: https://gitlab.winehq.org/wine/wine/-/merge_requests/8680
http://bugs.winehq.org/show_bug.cgi?id=56883
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |22e764c7a067ef8348aee0c21a6 | |fb9b7d0f26088 Resolution|--- |FIXED
--- Comment #10 from Rémi Bernon rbernon@codeweavers.com --- Fixed with 22e764c7a067ef8348aee0c21a6fb9b7d0f26088
http://bugs.winehq.org/show_bug.cgi?id=56883
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 10.13.