alinebee / Boxer

The DOS game emulator that's fit for your Mac.
http://boxerapp.com/
774 stars 139 forks source link

PS4 Controller works beautifully over USB, not detected over bluetooth #44

Closed franktinsley closed 10 years ago

franktinsley commented 10 years ago

Would love to use my DualShock 4 over bluetooth with boxer was well as USB. Was surprised it didn't work but it's certainly no biggie. Thank you for this amazingly awesome app! MY CHILDHOOD

alinebee commented 10 years ago

It's good to know that the PS4 pad works out-of-the-box on USB; I expect this is because OS X actually recognises it as a PS3 pad. However, that's also the reason why it doesn't work for you over bluetooth, because OS X itself doesn't recognise the PS3 pad over bluetooth either.


Technical digression korner

Most USB and bluetooth controllers expose an "HID profile" to the operating system when you connect them, which tells the system what kind of device it is and (in the case of gamepads and joysticks) what buttons and axes it has. Boxer (and other controller-supporting software) can see and talk to any controller that reports an HID profile.

Because of Sony's inscrutable whims, the PS3 controller does not actually report an HID profile (they only intended the controller to talk to a PS3) and so normally Boxer or any other application would not even be able to see it. However, some kindly OS X engineer hacked in special-case support for the controller some time back in the Snow Leopard days, so the OS itself will recognise it and expose an HID profile for it anyway. Unfortunately they didn't finish the job, and the system only recognises the device properly over USB and not Bluetooth.


So TL;DR: the PS3/PS4 pad is only partially supported by OS X; the OS only recognises the pad over USB and not Bluetooth, so Boxer can't see it, and nor can any other application.

However, you might be able to kinda-sorta get the pad working over bluetooth by following the instructions here, which apply to a PS3 pad: http://www.cultofmac.com/198793/use-a-playstation-3-controller-on-your-mac-with-bluetooth-os-x-tips/

I haven't tried that approach with a PS3 pad, let alone a PS4 one, and it sounds like you need to connect the controller over USB each time before you can unplug it and use it wirelessly. (I guess it relies on letting the system recognise the device over USB, before continuing the connection over bluetooth.)