[Bug 46361] Sonic Mania freezes/crashes when we use a gamepad on 4.0+
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Jan 25 04:33:42 CST 2019
https://bugs.winehq.org/show_bug.cgi?id=46361
--- Comment #9 from imbert.jacquesolivier at gmail.com ---
3.12 doesn't rawinput.c and other new codes about gamepads. So before the news
codes, gamepads worked like a charm.
In some forums, I see that the following flag could be the culprit :
DIGCF_PRESENT usage.
https://community.osr.com/discussion/269299
I quote the following text : " For some reason some USB(in my case) devices in
not returned by SetupDiGetClassDevs with (DIGCF_ALLCLASSES | DIGCF_PRESENT)
falgs. Device is present in system and is showed up as connected by device
manager and devcon. And the device is returned without DIGCF_PRESENT flag.
I see the same problem for USBDeview prograam it also showed device as not
connected. What can be the reason? "
2nd solution :
https://stackoverflow.com/questions/12485414/setupdienumdeviceinterfaces-fail-issue
I quote the following text : "To return devices that support a device interface
of any class, set the DIFCF_DEVICEINTERFACE flag, set the DIGCF_ALLCLASSES
flag, and set ClassGuid to NULL. The function adds to the device information
set a device information element that represents such a device and then adds to
the device information element a device interface list that contains all the
device interfaces that the device supports.
So fix your SetupDiGetClassDevs call by adding the DIGCF_DEVICEINTERFACE flag
like:
hDevInfo = SetupDiGetClassDevs(NULL,0,0, DIGCF_PRESENT | DIGCF_ALLCLASSES |
DIGCF_DEVICEINTERFACE); "
I will these solutions. If people can test Sonic Mania in original Wine 4.0 to
confirm the issue with the gamepad, it can confirmed the current issue.
--
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