axu2 / feral-interactive-mac-controllers

Fixes Xbox controller support for Tomb Raider, Life is Strange, Bioshock, Sleeping Dogs, and other Feral Interactive Mac games
MIT License
20 stars 3 forks source link

Fix for left stick drift #1

Closed pwatk closed 4 months ago

pwatk commented 4 months ago

After quite a bit of testing I have discovered that changing the string for the CGPDeviceType key to Standard instead of Xbox stops the left stick drifting in Sleeping Dogs and Grid Autosport.

This has only been tested with these games and only with an Xbox One S Bluetooth controller.

The only changes that have been made are comments added to the XboxOneControllerSBluetooth plist file. The file version number was only changed to aid testing.

axu2 commented 4 months ago

Wow, works perfectly for me in Sleeping Dogs, how did you figure this out? @pwatk

Also, did you happen to test the Standard file in other Feral games that previously worked with Xbox?

And is GRID openGL? I know sleeping dogs is. You can tell if metal hud doesn't work

pwatk commented 4 months ago

I've been trying to fix GRID Autosport for months but kept rage quitting and uninstalling the game.

Then I started playing Rise of the Tomb Raider and found the back button didn't work but I could still use tab on the keyboard. Annoying but not a deal breaker.

The straw that broke the camel's back was when I bought Sleeping Dogs a few days ago and found it had the same issue as GRID Autosport.

I literally spent the whole of last night using diff on every plist I could find online as well as the games I own (e.g. Hitman) then firing up each of the three games above until I made them work.

Believe it or not, your GitHub repo gave me enough information to work it out.

I honestly can't tell you how happy I was when the menu didn't start scrolling when I fired up GRID Autosport.

pwatk commented 4 months ago

I wanted to do some more testing before answering your other question.

The Metal HUD doesn't load for GRID so it must be using OpenGL.

It does load for Hitman and all buttons work correctly regardless of which string you use.

After retesting Rise of the Tomb Raider I have found that either string works correctly (I obviously missed this last night).

It is possible that this string could be changed for all games.

pwatk commented 4 months ago

I just tested Tomb Raider 2013 (Metal) and the original Life is Strange demo (OpenGL) and found that the Standard string works for both.

I could reinstall Deus Ex Mankind Divided but I suspect I'll have the same result.

I have updated my fork to switch this string over permanently.

axu2 commented 4 months ago

@pwatk Looks good to me, though the v5 is actually referring to the controller firmware version, so let's keep it at v5. Multiple files with the same ProductID could cause issues. If it works, I'd prefer overwriting the original.

And do it for the Series controller as well.

pwatk commented 4 months ago

I wondered where v3 and v5 came from.

Also, I'm installing Deus Ex now just so I can add it to the list.

axu2 commented 4 months ago

Added your extra note, thanks! Looks like I merged a little too early.

pwatk commented 4 months ago

No problem. I took a while to reply with the changes.