http://bugs.winehq.org/show_bug.cgi?id=34286
Bug #: 34286 Summary: dinput doesn't report DIDOI_ASPECT* for joystick axes Product: Wine Version: 1.7.0 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dinput AssignedTo: wine-bugs@winehq.org ReportedBy: achurch+wine@achurch.org Classification: Unclassified
Created attachment 45644 --> http://bugs.winehq.org/attachment.cgi?id=45644 Patch
Wine's dinput.dll returns 0 in the dwFlags field when enumerating joystick objects, but some programs (at least Final Fantasy XIV) expect to see one of the DIDOI_ASPECT* values for an axis object and ignore the axis if none are present.
Simple patch attached -- it just reports DIDOI_ASPECTPOSITION for all axes (which may or may not be correct, but at least lets FFXIV recognize joystick axis input).
http://bugs.winehq.org/show_bug.cgi?id=34286
rmlipman@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rmlipman@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=34286
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeikum@codeweavers.com
--- Comment #1 from Andrew Eikum aeikum@codeweavers.com --- The patch might be okay as it is.
To support this patch, you could write a quick test to see what Windows reports for each of the objects on an xbox 360 gamepad, or any other input devices you have handy. I'm not sure we could usefully include a test like that into Wine, but it would provide some evidence for you to include in your patch notes.
http://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #2 from Andrew Church achurch+wine@achurch.org --- Created attachment 47097 --> http://bugs.winehq.org/attachment.cgi?id=47097 dinput-test.cc
I don't have a native Windows system handy and VMware is giving me problems trying to connect USB devices, but here's a program to dump joystick object data if you want to try it yourself.
http://bugs.winehq.org/show_bug.cgi?id=34286
Andrew Church achurch+wine@achurch.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #45644|0 |1 is obsolete| |
--- Comment #3 from Andrew Church achurch+wine@achurch.org --- Created attachment 47098 --> http://bugs.winehq.org/attachment.cgi?id=47098 Patch
Fixed a tab character in the diff.
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #4 from Austin English austinenglish@gmail.com --- This is your friendly reminder that there has been no bug activity for over a year. Is this still an issue in current (1.7.37 or newer) wine? If so, please attach the terminal output in 1.7.37 (see http://wiki.winehq.org/FAQ#get_log).
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #5 from Andrew Church achurch+wine@achurch.org --- Yes, this is still a problem in wine-1.7.37; the code in question has not changed since my last comment, and there are no new uses of DIDOI_ASPECTPOSITION in the code which could otherwise solve the issue.
https://bugs.winehq.org/show_bug.cgi?id=34286
Dennis Fagan dfagan1@pride.hofstra.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dfagan1@pride.hofstra.edu
--- Comment #6 from Dennis Fagan dfagan1@pride.hofstra.edu --- Created attachment 51158 --> https://bugs.winehq.org/attachment.cgi?id=51158 output from running test program
output from running test program on windows 7 x64 with a single xbox 360 controller attached via wireless adapter.
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #7 from Andrew Church achurch+wine@achurch.org --- (In reply to Dennis Fagan from comment #6)
output from running test program on windows 7 x64 with a single xbox 360 controller attached via wireless adapter.
Thanks for the information. It looks like Windows does indeed report DIDOI_ASPECTPOSITION for axis inputs.
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com --- Please attach a compiled exe, I can help comparing the values from Windows/Linux.
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #9 from Dennis Fagan dfagan1@pride.hofstra.edu --- Created attachment 51165 --> https://bugs.winehq.org/attachment.cgi?id=51165 displays DIDOI_ASPECT stuff
You'll need the latest vc redist
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #10 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dennis Fagan from comment #9)
Created attachment 51165 [details] displays DIDOI_ASPECT stuff
You'll need the latest vc redist
I'm sorry, I can't make it work. It requires the debug version of the DLL that is not provided by winetricks vcrun2013.
err:module:import_dll Library MSVCR120D.dll (which is needed by L"Z:\home\bruno\Downloads\d3thing.exe") not found
https://bugs.winehq.org/show_bug.cgi?id=34286
Dennis Fagan dfagan1@pride.hofstra.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #51165|0 |1 is obsolete| |
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #11 from Dennis Fagan dfagan1@pride.hofstra.edu --- Created attachment 51170 --> https://bugs.winehq.org/attachment.cgi?id=51170 DIDOI_ASPECT dump thing
Needed latest vcredist, compiled with release so should work this time.
https://bugs.winehq.org/show_bug.cgi?id=34286
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #12 from Bruno Jesus 00cpxxx@gmail.com --- Confirming in wine 1.7.44. Used a PS2 controller on a USB conversor and a XBOX 360 USB controller, output of the XBOX controller below:
Windows 7: Offset: 0 Object name: Eixo Y Type: YAxis {A36D02E1-C9F3-11CF-BFC7-444553540000} Type flags (DIDFT): 0x102 Object flags (DIDOI): 0x100
Wine 1.7.44: Offset: 0 Object name: Axis 0 Type: XAxis {A36D02E0-C9F3-11CF-BFC7-444553540000} Type flags (DIDFT): 0x2 Object flags (DIDOI): 0x1
Windows 7: Offset: 4 Object name: Eixo X Type: XAxis {A36D02E0-C9F3-11CF-BFC7-444553540000} Type flags (DIDFT): 0x2 Object flags (DIDOI): 0x100
Wine 1.7.44: Offset: 4 Object name: Axis 1 Type: YAxis {A36D02E1-C9F3-11CF-BFC7-444553540000} Type flags (DIDFT): 0x102 Object flags (DIDOI): 0x1
Windows 7: Offset: 8 Object name: Rotação Y Type: RyAxis {A36D02F5-C9F3-11CF-BFC7-444553540000} Type flags (DIDFT): 0x402 Object flags (DIDOI): 0x100
Wine 1.7.44: Offset: 8 Object name: Axis 2 Type: ZAxis {A36D02E2-C9F3-11CF-BFC7-444553540000} Type flags (DIDFT): 0x202 Object flags (DIDOI): 0x0
https://bugs.winehq.org/show_bug.cgi?id=34286
David david@blue-labs.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |david@blue-labs.org
--- Comment #13 from David david@blue-labs.org --- I run Arch Linux and am trying to get my ds4 controller working fully under wine for FFXIV. What can I do to help? Does this patch fix both joysticks on the ds4 for FFXIV and just needs more confirmation from field testing?
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #14 from Andrew Church achurch+wine@achurch.org --- (In reply to David from comment #13)
I run Arch Linux and am trying to get my ds4 controller working fully under wine for FFXIV. What can I do to help? Does this patch fix both joysticks on the ds4 for FFXIV and just needs more confirmation from field testing?
I successfully played FFXIV with a DS3 using this patch; the DS4 is pretty similar, so it should at least help. I can't speak for the developers, but I assume reporting whether it works for you would be a useful data point.
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #15 from David david@blue-labs.org --- negative for me. using ArchLinux testing, i built wine through ABS and i've verified that the patch was applied in the pkg build with a 24 line offset for wine 1.7.44.
i'm not using ds4drv or xbox360 tool. using native wine enumeration of devices. the ds4 controller will show up as a joystick input device, and as an event input device. i've been using the event device as i pretty much lose sane control of my screen pointer using the js device.
testing method is to start up ffxiv and jump directly into configuration screen then subscreen for gamepad. i then ensure i have the ds4 controller (event) device selected and tap calibrate then start.
all buttons used to respond normally -except- the analog joystick values on L and R. now nothing on the ds4 controller is responding in ffxiv.
'wine control joy.cpl' shows my reticle moving normally before the patch and after the patch.
https://bugs.winehq.org/show_bug.cgi?id=34286
John Campbell johnpc831@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |johnpc831@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #16 from John Campbell johnpc831@gmail.com --- I was able to successfully play Final Fantasy XIV with my Logitech F310 game pad using this patch. Previously I couldn't calibrate the controller because the game wouldn't recognize the analog sticks.
After compiling with this patch, I was able to successfully calibrate the controller in the game. All buttons are functional.
https://bugs.winehq.org/show_bug.cgi?id=34286
Kaito me@mkaito.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |me@mkaito.com
--- Comment #17 from Kaito me@mkaito.com --- I have the same trouble as David, except that my buttons appear to be mapped wrong as well (ie, on an xbox360 pad, Y is cancel, instead of A, even though the configuration is set to have A be cancel).
Arch Linux x64, Razer Sabertooth gamepad.
I'm trying to compile different versions of wine with the patch, to see if any work. So far, 1.7.44-47 do not. The patch was written against 1.7.0, so I figure something has changed. The patch still applies with a 24-line offset, but something else must have changed.
https://bugs.winehq.org/show_bug.cgi?id=34286
--- Comment #18 from Kaito me@mkaito.com --- I forgot to add: I have successfully used this gamepad with FFXIV and this patch in the past. I can't remember which wine version, though.
https://bugs.winehq.org/show_bug.cgi?id=34286
jingai jingai@floatingpenguins.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jingai@floatingpenguins.com
https://bugs.winehq.org/show_bug.cgi?id=34286
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #19 from winetest@luukku.com --- (In reply to Kaito from comment #18)
I forgot to add: I have successfully used this gamepad with FFXIV and this patch in the past. I can't remember which wine version, though.
A commit related to this bug was committed.
5ce8a1a91b5462bc90629385d618ceb6b75cd2c9
https://bugs.winehq.org/show_bug.cgi?id=34286
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |5ce8a1a91b5462bc90629385d61 | |8ceb6b75cd2c9 Resolution|--- |FIXED
--- Comment #20 from Bruno Jesus 00cpxxx@gmail.com --- Fixed by http://source.winehq.org/git/wine.git/?a=commit;h=5ce8a1a91b5462bc90629385d6...
https://bugs.winehq.org/show_bug.cgi?id=34286
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #21 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.17.
https://bugs.winehq.org/show_bug.cgi?id=34286
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.8.x CC| |mstefani@redhat.com
https://bugs.winehq.org/show_bug.cgi?id=34286
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #22 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.5.