https://bugs.winehq.org/show_bug.cgi?id=50664
--- Comment #6 from beastie beastie@unixyourbrain.org --- Hi, solved !
I know this thread is Abandoned, but if it can help future users, enjoy ;)
Have played recently at Assassin's Creed 1 & 2, and had some trouble to select Xbox Series Gamepad in game, as mentioned by an anonymous here https://appdb.winehq.org/objectManager.php?sClass=version&iId=11069&... and here https://appdb.winehq.org/objectManager.php?sClass=version&iId=19584.
But It's not a wine issue.
It's a backward compatibility of Gamepads. Old Gamepads use this mapping : Axis 0 : Left stick X abs Axis 1 : Left stick Y abs Axis 2 : Right stick X abs Axis 3 : Right stick Y abs Button 0 Button 1 etc ... But new gamepad mapping is : Axis 0 : Left stick X abs Axis 1 : Left stick Y abs Axis 2 : Left stick Z abs (Named LT on the controller) Axis 3 : Left stick Y abs Axis 2 : Left stick X abs Axis 3 : Left stick Z abs (Named LT on the controller) Buttons ...
Axis values are -32767 to 32766. Stick are centered with value 0,0 but when LT and RT are not pressed, their value are -23767
So, /dev/input/eventX and /dev/input/jsX send new mapping, and Assassin's Creed and Assassin's Creed 2 interpret new mapping as old mapping. So when you go on the controller selection, LT/left Z axis return -32767, and the game read/interpret that "right stick left" and unselect Gamepad.
I solve this issue in Assassin's creed by redoing the mapping with jstest-gtk (or jstest), and select my controler /dev/input/jsX, as you can see on attachement screenshot https://bugs.winehq.org/attachment.cgi?id=70098
I have not find a workaround for /dev/input/eventX for now
On Assassin's creed 2, you just nedd to configure controler in game option, by changing Axis, it works fine with js and event controller.
It's really disappointing to see rating set to Bronze, just because Gamepad is badly configured by the user while the game works perfectly (see https://appdb.winehq.org/objectManager.php?sClass=version&iId=11069&...)
Tested on Debian/11, workaround works fine with this versions of wine : wine deb repos version : 5.0.4 wineHQ repos version : 6.0-stable wineHQ repos version : 6.9-staging wineHQ repos version : 6.9-staging
Hope it can help future Xbox Gamepad users on old Games