Open dr-tam opened 8 months ago
OK, let's try some troubleshooting.
1) Try modifying the "old" version of the plist files linked in the readme 2) firmware update controller 3) factory reset controller 4) reboot mac one more time 5) make sure steam input is OFF. reread the readme to make sure no step was skipped.
I don't see that toggle either, maybe its only for mac app store version.
The select button not working is interesting, too bad I can't test it myself. I'd play around with the ButtonBack field in the plist. @dr-tam
To confirm, it's this one?
https://www.xbox.com/en-US/accessories/controllers/elite-wireless-controller-series-2
Though looks like elite 2 controllers have issues from a quick search in r/macgaming
You can try playing wired.
I reply point to point.
Yes, I confirm that is the controller in the picture, only in White (I bought core version that is a bit cheaper).
I'm also emailing with Feral in order to try to solve the issue. After the compatibility toggle that I already tried, they told me to delete the "Preferences Data" file inside the game folder and restart my Mac, but even this solution isn't fine. So I reported to Feral (and I'm report to you) below some of other tests that I did.
1) Hmmm, what does the System Report from the Tomb Raider launcher say about your controller? Mine says:
Xbox Wireless Controller:
Vendor ID: 0x045E
Product ID: 0x0B20
Firmware Version: 5.17.3202.0
If you have the latest then we can rule that out.
2) Do you happen to have forced Metal HUD running? Maybe disable it. https://www.reddit.com/r/MacOS/comments/16ptjpi/comment/k58bx53/?utm_source=reddit&utm_medium=web2x&context=3
3) Oh, factory reset doesn't seem to be a thing. Try holding the sync button until it vibrates, pair it to something else, then repeat pairing back to mac.
4) Run the system report when the controller is connected wired, the wired ProductID is different for my Xbox One S controller. Then modify the XboxOne plist that corresponds to the wired controller.
I've used a wired Xbox One S controller in Tomb Raider 2013 in the past with no problems. (In fact I didn't need to modify anything.)
Controller:
Product ID: 0x02ea
Vendor ID: 0x045e (Microsoft Corporation)
Version: 5.11
5) yea, steam link from a mac not having audio is a steam issue. :cry:
If none of these work I have no more ideas. Maybe Xbox One controllers have better support...
Ok, now I have some good and bad news. I successfully update my Elite 2 controller via a Windows VM with VMWare Fusion, so the firmware version is now 5.17.3202.0; interestingly, also the ProductID in wireless changed from 2821 to 2850. Now, editing .plist file, the controller works in wireless without Steam Input ONLY on Shadow and Rise of Tomb Raider, instead on Tomb Raider the issue still persists. It is probably due to the additional buttons of Elite series controllers, so I mailed again Feral and I'm waiting if they can help me.
1a. Wireless System Report
Xbox Wireless Controller: Address: [hide] Vendor ID: 0x045E Product ID: 0x0B22 Battery Level: 100% Firmware Version: 5.17.3202.0 Minor Type: Gamepad Services: 0x400000 < BLE >
1b. Wired System Report
Controller: Product ID: 0x0b00 Vendor ID: 0x045e (Microsoft Corporation) Version: 5.11 Serial Number: [hide] Speed: Up to 12 Mb/s Manufacturer: Microsoft Location ID: [hide] Current Available (mA): 500 Extra Operating Current (mA): 0
1) Try restarting Tomb Raider to see if controller starts working. Glad to hear that the others work. I just redownloaded Tomb Raider and controller only worked second time. Hold option when launching so the launcher can tell you if controller detected. Otherwise can try modifying the old versions from the read me
2) Try modifying XboxOneController.plist
with the productID with the wired variant. My Xbox One S controller works wired even if I remove the bluetooth plist. Even though macOS doesn't recognize it, the game recognizes it. It's game level support, not OS level support. @dr-tam
I'm so grateful to you for this solution! I did some "adjustments" but these below are the facts (if they can help someone!).
EDIT:
Cool! Just to confirm is this the software you used to update the firmware?
https://www.vmware.com/products/fusion.html
I'm pretty disappointed that Tomb Raider 2013 doesn't detect it over Bluetooth while the rest do. Can you try again just one more time? It doesn't show up in the launcher at all?
Also, can you upload the plists that worked for you to this repo? Just fork the repo, upload files, and pull request.
EDIT: can you try deleting inputdevices.json
from Tomb Raider? Can you verify if they exist in Rise/Shadow/other Ferals. @dr-tam
Yes, the virtualization software is VMWare Fusion (plus: the license is free for home use).
Via Bluetooth, I confirm that there is a crash immediately... I can't see anything, just the TR icon in the Dock which suddenly disappears and macOS opens the "Crash Feedback to Apple" window (I don't remember what exactly it's called).
Sure... but I'm a newbie GitHub user, I'm not a programmer at all, I attached the file here and I hope it's ok: I had to change the extension to .txt otherwise I couldn't upload it, just change the extension to .plist. XboxOneController.txt
I'm not sure, but I seem to have already deleted inputdevices.json from TR during my numerous tests over the past few days.... however, I can confirm that it does not exist in Rise/Shadow of TR.
EDIT: Now I've tried playing TR, the behavior of the Xbox controller is a bit inconsistent, so I'll update the previous comment by adding a clarification.
Interesting, I wonder if it would work if you added the json back then. You can probably just verify to get it to redownload. @dr-tam It's next to the InputDevices folder, not inside it.
Or changing the <key>CGPDeviceType</key>
from Standard
to Xbox
Hi guys, first, thanks a lot for these findings. I had trouble connecting my Xbox One Controller via BT to my MBP M1Max and found this thread. If it helps somebody, finally it works, and my result: you need only two actions to achieve it:
XboxOneControllerSBluetoothv5.plist
file from this repository and place it into the Contents/Resources/InputDevices/Digital
folder.inputdevices.json
from the Contents/Resources
folder.@axu2: thanks a lot for the hints!
Sysinfo of my controller: Xbox Wireless Controller: Vendor-ID: 0x045E Product-ID: 0x0B20 Firmwareversion: 5.20.7.0 Minor Type: Gamepad
@stimg please edit the readme with a note that deleting the JSON might be needed.
Could anyone test whether the new macos 14 feature of "increase controller compatibility" works? It will map a modern controller to the 360 plist.
Hi, recently purchased an Xbox Elite 2 controller and I connected it with Bluetooth to my MBP 2017 13” Touch Bar (macOS Ventura 13.6.4). I read of the issue with Feral games, so yesterday I downloaded your .plist files, changed “ProductID” to 2821 and everything was fine (except Select button).
Unfortunately, some hours later and after a reboot, the game crashes on startup if I have the controller connected with these files inside the specific game folder, specifically if “ProductID” is 2821 (instead of 2835 like your original files that doesn't work). I tried to use SteamInput without success and no way to solve the isse even uninstalling/reinstalling the game thought Steam or make an integrity check after download.
Feral told me to select go to System settings > Game Controllers, add Tomb Raider to the list of games and turn on the “Increase controller compatibility” toggle, but I still not see any kind of toggle: there isn't anything.