I have a Sony DUALSHOCK 3 SIXAXIS controller, I can use it as a USB controller on my OS X Mountain Lion MacMini and it works perfectly. I have it set up in Bluetooth so that when it is not connected via USB, I just press the Playstation Logo and it connects instantly via Bluetooth. In my humble opinion, Sony DUALSHOCK 3 SIXAXIS controllers are overpriced, so I bought a gioteck PS3 VX-1 Wireless Controller for $29.99. It is identical in every way to the Sony controller except the shape and that it doesn't come with a lithium ion battery and instead takes two AA batteries or a battery pack like the ones you put in an XBox 360 controller. The "Cheap" controller works identical to the Sony controller when connected via USB.
My goal here is to play four player games with the whole family without spending nearly $200 on PS3 controllers.
The problem (I think): gioteck did not properly set the values transmitted via Bluetooth upon connection. The Bluetooth Type is "Unknown" instead of "Peripheral", the Name is "PLAYSTATION(R)3Conteroller-ghic" instead of "PLAYSTATION(R)3 Controller", the Services are not set instead of "PnP Information Wireless Controller", the Major Device Class is "0x1f" instead of "0x5", the Minor Device Class is "0x0" instead of "0x2", and as expected the Product ID and Vendor ID are different from the Sony.
My guess is that most of the details I listed above don't come from the Bluetooth device itself but are looked up based on Major Device Class and Minor Device Class (but I really don't know much about how Bluetooth devices work).
So my question: Anybody know if there are files on my OS X 10.8 that I can modify so that my "Cheap" PS3 controller that works via Bluetooth on the PS3 can also work via Bluetooth on OS X?
Here are all the details I have:
The one that works:
The one that doesn't work:
Best Answer
Ok, I got it to work. I would not recommend using this technique, but it works, I hope someone posts a better solution.
Set up gioteck VX-1:
Bring up terminal and type:
Type the following in Terminal:
Now that the address nodes for your Sony and VX-1 contain the same number of nodes in the same order as each other, note that the following in your VX-1 should match your Sony exactly:
Verify that you changed ClassOfDevice's VX-1 value to the value that the Sony had: 1288, I can't remember but I think VX-1 had 7997. I think that the most important things are the ClassOfDevice, LastServiceUpdate, and Services (but not in that order). Any node that I did not list in Step 23 should be present in VX-1, but have values that do not match the Sony. If you ever go to System Preferences->Bluetooth, click on PLAYSTATION(R)3Conteroller-ghic, then click on the little gear icon/down triangle, and click Update Services, it will probably wipe out all these changes, so don't do that.
THE SECTION REFERENCED IN STEP 1 ABOVE:
Any time you stop using the controller, disconnect it via System Preferences->Bluetooth or hold the Playstation logo button for 10 seconds to power it off.