[Bug 36035] New: not every joystick button is recognized, mapped correctly
http://bugs.winehq.org/show_bug.cgi?id=36035 Bug ID: 36035 Summary: not every joystick button is recognized, mapped correctly Product: Wine Version: 1.7.17 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dinput Assignee: wine-bugs(a)winehq.org Reporter: f.platte(a)platte-web.de Wine 1.7.17 solved some joystick related crashes for me (refer to bug 33958 [http://bugs.winehq.org/show_bug.cgi?id=33958]). Anyway some work still needs to be done, as not every button is recognized (missing: A, B, X, Y, black, white - XBOX [original] Controller, while Start/Back are working and being assigned as the default go forward/backward buttons). The D-Pad works, too, but it cannot be used for navigation (or similar), as it's only recognized as being 4 independent buttons. Furthermore Wine does not handle the Z/RZ axis properly (others work). They are treated as independent axis while actually both represent half an axis.*** - This makes acceleration (racing game) to be active while not being actually pressed and braking being activated upon hitting "acceleration" (Z-axis). The RZ axis is being ignored completely although it's assigned to breaking in the games settings. This is not an issue with the game (Colin McRea Rally 2005) as it occurs within other games, too. I'm using my XBOX one controller with a special OS X driver (http://xhd.sourceforge.net) in version 2.0.0 (http://xhd.cvs.sourceforge.net/viewvc/xhd/xhd/Release/) with 64bit support, which is required by OS X Mountain Lion and greater. (I'm on 10.8.5.) - The driver itself does work (tested with OS X native/cider games and confirmed with the drivers panel graphical feedback.) *** I do not now how it's actually supposed to behave/work, but this seems lil the best explanation concerning functionality. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=36035 Rastafabi <f.platte(a)platte-web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ken(a)codeweavers.com See Also| |http://bugs.winehq.org/show | |_bug.cgi?id=33958 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #1 from Rastafabi <f.platte(a)platte-web.de> --- Created attachment 48188 --> http://bugs.winehq.org/attachment.cgi?id=48188 Screenshots to show the issue (jpg, png) -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #2 from Austin English <austinenglish(a)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.51 or newer) wine? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #3 from Rastafabi <f.platte(a)platte-web.de> --- Yes. Still an issue. Some axis are badly recognised/assigned, so that they can't be used ingame. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 winetest(a)luukku.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx(a)gmail.com, | |winetest(a)luukku.com -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #4 from winetest(a)luukku.com --- Can you retest with wine 1.8 or 1.9 series? If there has been any improvements. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #5 from Rastafabi <f.platte(a)platte-web.de> --- I'm still experiencing the same issues with latest stable and development versions. One thing to consider might be that it's not actually an HID-compliant joystick, though the OS X driver does make it so, which works seamlessly in system-native games. also most of the "buttons" are actually axis as they are pressure sensitive (valid for A, B, X, Y, black and white and obviously the pads and the "rear shoulder controls"). However this does not make a difference within games on OS X as the driver even offers a configuration to advertise them as buttons. Anyway no matter which mode is selected it still does not work within wine. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #6 from Bruno Jesus <00cpxxx(a)gmail.com> --- Please attach a +dinput log. You can read more at http://wiki.winehq.org/FAQ#get_log -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #7 from Rastafabi <f.platte(a)platte-web.de> --- I would like to post the log but it's an 200MB log/txt file after just launching and quitting a game with +dinput being the only active variable. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 fjfrackiewicz(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz(a)gmail.com --- Comment #8 from fjfrackiewicz(a)gmail.com --- (In reply to Rastafabi from comment #7)
I would like to post the log but it's an 200MB log/txt file after just launching and quitting a game with +dinput being the only active variable.
You can still compress it and add the compressed log as a file :) -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #9 from fjfrackiewicz(a)gmail.com --- (In reply to fjfrackiewicz from comment #8)
(In reply to Rastafabi from comment #7)
I would like to post the log but it's an 200MB log/txt file after just launching and quitting a game with +dinput being the only active variable.
You can still compress it and add the compressed log as a file :)
As an attachment I meant. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #10 from Rastafabi <f.platte(a)platte-web.de> --- Created attachment 56421 --> https://bugs.winehq.org/attachment.cgi?id=56421 +dinput Logfile Couldn't imagine an txt-file could be compressed by any significant amount. Now it's attached. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #11 from Bruno Jesus <00cpxxx(a)gmail.com> --- This is what Wine recognizes for your controller: trace:dinput:alloc_device 6 axes 8 buttons 0 povs Axes X,Y, rX, rY, Z, lZ. Let's first check if all buttons and axes are correctly recognized. In a Xbox 360 controller the correct number is 6 axes, 11 buttons and 1 POV, so it seems weird to me the 8 buttons and 0 POVs. What is the real number of axes, buttons and povs that native OSX finds (let's forget about the half-axis problem for the moment). -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #12 from Bruno Jesus <00cpxxx(a)gmail.com> --- Created attachment 56496 --> https://bugs.winehq.org/attachment.cgi?id=56496 patch Please get a new +dinput with the attached patch. I don't have OSX so I could not compile or test the patch. Minor compilation problems may happen. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #56496|0 |1 is obsolete| | --- Comment #13 from Bruno Jesus <00cpxxx(a)gmail.com> --- Created attachment 56497 --> https://bugs.winehq.org/attachment.cgi?id=56497 patch 2 Sorry, I misinterpreted Usage Page vs Usage, the previous patch is incorrect. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #14 from Bruno Jesus <00cpxxx(a)gmail.com> --- The povs = 0 is expected because the driver or the OS is not enumerating a kHIDUsage_GD_Hatswitch. The driver uses plain buttons to emulate the POV (aka hat). -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #15 from Rastafabi <f.platte(a)platte-web.de> --- Created attachment 56517 --> https://bugs.winehq.org/attachment.cgi?id=56517 Button map Here you have the button map. I don't know when I'll be able to commit the test. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #16 from Bruno Jesus <00cpxxx(a)gmail.com> --- I see what you mean but that is not what the driver is passing to us through HID. That is why I need the log with the patch applied. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #17 from Rastafabi <f.platte(a)platte-web.de> --- I tried building dinput.dll.so, but it does not work to to the variable element being used before being declared (lines 638 and 642). Building the entire engine failed for me due to some gdi related errors. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #18 from Rastafabi <f.platte(a)platte-web.de> --- The specified lines refer to the joystick_osx.c file -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Ken Thomases <ken(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #56497|0 |1 is obsolete| | --- Comment #19 from Ken Thomases <ken(a)codeweavers.com> --- Created attachment 56530 --> https://bugs.winehq.org/attachment.cgi?id=56530 Fixed version of patch As requested on #winehackers, I have tweaked attachment 56497 to fix build errors. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #20 from Rastafabi <f.platte(a)platte-web.de> --- Created attachment 56540 --> https://bugs.winehq.org/attachment.cgi?id=56540 +dinput Logfile (build 56530) As already mentioned I could only build input.dll.so as building the whole engine failed. This is the log using the manually copied file on 2.0rc1 engine. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #21 from Rastafabi <f.platte(a)platte-web.de> --- Created attachment 56541 --> https://bugs.winehq.org/attachment.cgi?id=56541 Button map (updated) Again the image of the labelled image of the controller. But now with further details and a screenshot of the driver panel in OS X confirming all the functions. BTW: I have the direct comparison between the Mac-nativ (stuttering but fully working) version of Colin McRea 2005 (called Colin McRea Mac) and the smoothly running PC version which lacks full controller support. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|not every joystick button |Colin McRea Rally 2005 has |is recognized, mapped |problems identifying Xbox |correctly |controller buttons with XHD | |joystick driver in OSX Keywords| |hardware --- Comment #22 from Bruno Jesus <00cpxxx(a)gmail.com> --- Thanks for testing the patch, it works as I expected. Now every button is recognized correctly. trace:dinput:get_osx_device_elements axes 6 povs 0 buttons 14 Can you reproduce the issue using the game demo? http://www.gamershell.com/download_6814.shtml -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #23 from Rastafabi <f.platte(a)platte-web.de> --- It does not yet work. Being curious to why I checked wine's controller panel. While the buttons indeed are registered they do not react on input yet. BTW: Are you heading at fixing the missing buttons AND the "half-axis" 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #24 from Bruno Jesus <00cpxxx(a)gmail.com> --- My patch was only half of the job, it was meant to recognize the buttons and now it does, but there is a missing part related to parsing the buttons pressed which is a bit more of code. I will have a way to test this in OSX in near future so I'll make a proper patch, for now just wait a bit more please. The half-axis problem will be fixed with the new HID driver so Dinput will be able to address that better. ---------------------------------------- As a reminder to myself: Make poll_osx_device_state recognize the misc button the same way as get_osx_device_elements. trace:dinput:poll_osx_device_state element <IOHIDElement 0x40263b60 type 1 usage 9/1 device 0x40325930> fixme:dinput:poll_osx_device_state kIOHIDElementTypeInput_Misc / unhandled usage 1 trace:dinput:poll_osx_device_state element <IOHIDElement 0x40263510 type 1 usage 9/2 device 0x40325930> fixme:dinput:poll_osx_device_state kIOHIDElementTypeInput_Misc / unhandled usage 2 trace:dinput:poll_osx_device_state element <IOHIDElement 0x40263d00 type 1 usage 9/3 device 0x40325930> fixme:dinput:poll_osx_device_state kIOHIDElementTypeInput_Misc / unhandled usage 3 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #25 from Rastafabi <f.platte(a)platte-web.de> --- Alright! Thank you for your work! Seeing forward to use it. If you need further testing drop me a note. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #26 from Bruno Jesus <00cpxxx(a)gmail.com> --- I could install the driver but now I noticed that it only works for the original Xbox controller, I only have the 360 one. I tried tweaking the PID in the files but when I plug the controller it blinks and turns off, OSX dmesg shows a connection of the device but nothing else, I don't how to further debug because I lack OSX skills. At least I can compile the patch and I'll send for you to test. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #56530|0 |1 is obsolete| | --- Comment #27 from Bruno Jesus <00cpxxx(a)gmail.com> --- Created attachment 56673 --> https://bugs.winehq.org/attachment.cgi?id=56673 patch v2 Please get a new +dinput with this patch. I tested some other HID controllers and they work and from the previous log you attached this should work for the XHD driver too. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #28 from Rastafabi <f.platte(a)platte-web.de> --- It does work now! Every button is recognised and can be assigned in game. I don't now if it's related to this but the Z and RZ axis are not recognised at all if they are set to mimic buttons within the OS X driver panel. Apart from this the missing-button-bug can be considered to be solved and the remaining issues (half-axis-problem, axis as buttons not recognised) could be separated into new bugs I think. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #29 from Bruno Jesus <00cpxxx(a)gmail.com> --- Please attach a new +dinput with the patch by doing this: 1) get into the game screen where you config the joystick 2) press A button 3) then press Z/rZ 5 times each 4) press Y button This is just to simplify the search for the axes events inside the log. For the half-axis problem I have created bug 42137. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #30 from Rastafabi <f.platte(a)platte-web.de> --- Created attachment 56698 --> https://bugs.winehq.org/attachment.cgi?id=56698 Winelog, +dinput - documenting axis-as-buttons recognition issue +dinput log as requested. buttons were pressed within the controller calibration panel as requested A - 5*Z - 5*Rz - Y nothing else pressed during run. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #31 from Rastafabi <f.platte(a)platte-web.de> --- here is another great macOS XBOX controller driver which theoretically includes support for any XBOX controller. This one does not work for my hardware revision though, as my controller is recognised as hub. Anyway it should work for you, as you mentioned you have a XBOX 360 controller. However I do not know whether this driver delivers comparable results concerning the HID events. https://github.com/360Controller/360Controller -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #32 from Bruno Jesus <00cpxxx(a)gmail.com> --- (In reply to Rastafabi from comment #30)
+dinput log as requested. buttons were pressed within the controller calibration panel as requested A - 5*Z - 5*Rz - Y nothing else pressed during run.
Thanks for the log and, you executed the actions perfectly so the log was very clear. Unfortunately the driver does not do what I believe you think. It will not turn the Z/rZ axes into standard buttons. In the log there are 10 registered changes in the Z and rZ, 5 on each. The problem seems to be related to the range, but I'm unsure it is a Wine problem. If you don't make the triggers act as buttons do they work correctly? If yes, please add a new log repeating the same procedure. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 --- Comment #33 from Rastafabi <f.platte(a)platte-web.de> --- (In reply to Bruno Jesus from comment #32)
Unfortunately the driver does not do what I believe you think. It will not turn the Z/rZ axes into standard buttons. In the log there are 10 registered changes in the Z and rZ, 5 on each. The problem seems to be related to the range, but I'm unsure it is a Wine problem.
Your indeed right. I should have checked before. Sorry. While the controllers driver panel offers the specified settings it actually does not do anything. I tested them on a native macOS game which results in the axis being seen as axis anyway. Seems like this functionality is broken within the driver itself. Quiet stunning anyway how good the driver works considering, that is was being written for OS X 10.2 Jaguar which was released 14 years ago in 2002. This means you can close this bug as soon as you send your patch upstream. BTW.: Do you have a any ETA for your HID Driver (and with it for the half-axis problem)? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch --- Comment #34 from Bruno Jesus <00cpxxx(a)gmail.com> --- Glad to see it works properly now with the patch and that the other problem was not a problem. I'll test that other 360 driver from comment 31, it is surprising to me that there is no native Xbox driver for OSX. I have no estimates about the HID driver because Wine is currently in code freeze for the 2.0 release and also because I'm not directly involved in it, but if I had to guess it would be at some point in this year. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #56673|0 |1 is patch| | -- 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.
https://bugs.winehq.org/show_bug.cgi?id=36035 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair(a)hotmail.com --- Comment #35 from Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- Is this still an issue in wine 3.20? -- 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.
participants (1)
-
wine-bugs@winehq.org