I can confirm that Wine 3.20 is working fine. Unverified; but I think I needed to delete the joysticks and controllers in the registry left over by the new version of Wine. Maybe this was why I tried an older version a few days back and it didn't work.
And also, should 'Enable SDL'?
If it's working with 3.20 (but not higher) then it sounds like it has fallen victim to this code:
Code:
is_gamepad = (axes == 6 && buttons >= 14)
You would need to 'Enable SDL' as it will otherwise fallback to bus_iohid and bus_udev which also has this logic - but unbugged.
I'm not sure why SDL reports 14 buttons and 6 axes though. This tool is handy for seeing what SDL sees:
https://github.com/Grumbel/sdl-jstest.git
If we can verify this is what is happening I'll submit a patch to Wine to get it fixed. They're currently in a code freeze but are accepting bug fixes (and making weekly releases) during this 4.0 release cycle. If you create a bug on WineHQ I can reference it in my patch - which may help it get accepted in 4.0.
Are you able to test a patch (it requires compiling wine-staging)? If not - it's a pretty simple change; so hopefully they'll accept it.
Edit: Looking through the code I can't see why it would report 14 buttons and 6 axes - I think we might need a log with '+plugplay' in it
Last edited: