I did the following to get it to work:
Hardware:
MBP 2018 (15-inch) ATI graphics
1 x PS4 Controller with serial: CUH-ZCT2U
1 x PS4 Controller with serial: CUH-ZCT2G
Software:
Mojave 10.14.2 (18C54)
DOS1 EE: Version 2.0.119.430
Steam Controller Driver Kexts:
/Library/Extensions/SteamInput.kext
/Library/Extensions/SteamInput-DS4v1.kext
1) Plug in Controllers with USB to confirm their Vendor and Product using either:
```
lsusb | grep -i sony
```
or
```
system_profiler SPBluetoothDataType
```
The output is:
Bus 020 Device 006: ID 054c:09cc Sony Corporation Wireless Controller
Convert those hex values to decimal.
Vendor is 054c (hex) = 1356 (dec) and Product is: 09cc (hex) = 2508 (dec)
Note that this is different to the ProductID listed in the Steam Controller Kext and in the games GamePadDefinitions.plist file.
2) Installed Steam Driver by opening Big Picture mode and saying yes to installing Steam Driver and rebooting.
3) Edited Steam PS4 driver kext file:
```
sudo find / -name "*Steam*.kext"
sudo vi /Library/Extensions/SteamInput-DS4v1.kext/Contents/Info.plist
Change ProductID from: 1476 to 2508
Edit lines to look like this:
<key>ProductID</key>
<integer>2508</integer>
4) Reboot
5) Find Divinity - Original Sin app file
6) Right Click show package contents
7) Backup Contents/Resources/GamePadDefinitions.plist
8) Edit Contents/Resources/GamePadDefinitions.plist
9) Add two entries:
Under the 1356 vendor key which is for PlayStation
Add 2508:Bluetooth with a redirect to: 1356:1476:Bluetooth
Add 2508:USB with a redirect to 1356:1476:USB
Look at the other entries to understand how it works. We are basically creating a new controller entry with the different PS4 controller Product ID and pointing it to the old one.
10) Open game with CMD key pressed for debug menu
11) Go to controllers Tab
12) Disconnect and Reconnect your controllers until there is only 1 controller showing not 2.
You should see:
- Microsoft - GamePad-2 (Vendor: 1118, Product: 654, Transport: (null))
- Apple MFI Controller (Vendor: Wireless Controller, Transport: Bluetooth)
If you see two Microsoft game pads, just keep turning them on and off until it works.
This works for both USB and Bluetooth, but reconnecting the bluetooth can be fiddly. Dont give up.
Once you start the game things should be rock solid. Only 1 controller will work initially and then in the game the other will connect on button press.
If you have more than 1 controller showing up during startup they will override each other and the game wont be playable.
I suspect that some of the above steps arent necessary but it works and thats all I care about.
I tried without the Steam Driver but then the Game would not recongize the controllers at all.
I also tried lots of other stuff like, USB, PS3 controllers, changing the game to Xbox mode, etc etc, but nothing I did worked until I used the above steps.
I also tried patching the GamePadDefinitions.plist to point the "emulated MS Vendor and Product ID) to the original PS4 controllers but that didnt work either.
This was also really useful in testing different controllers.
http://html5gamepad.com/I learnt a lot during the process but I want to say a few things:
1) Valve, why does your driver not support the newer PS4 controllers on Mac. They have been around for years.
I found that for Rayman Origins the developers themselves provide a custom file you can insert in their game to make the PS4 2nd gen controllers work.
2) Larian Studios did you literally never test the game with 2 PS4 2nd edition controllers on Mac? Seems unlikely considering you must have tested the 2 player coop mode at least once and I would have thought the 2nd gen PS4 controllers were the most common.
Is this a new issue with Mojave? Its also really weird how it works when it only detects one controller.
Anyway I am confident because I can get it to work that you guys can probably fix this.
It would be really nice to delete all these hacks and load up the game with 0 config and have it work flawlessly.
If you want any more info from me let me know. The game rocks by the way! Cant wait for the port of DOS2 DE for mac.