The Xbox 360 wired and wireless controllers for Windows can be used as joysticks or game controllers with a range of Windows games and applications. In particular the controller can be used with Second Life and OpenSim virtual world viewers. When using a virtual reality head mounted display (HMD) and not being able to see the keyboard, the gamepad style interaction for movement of an avatar and camera, and simple sorts of interaction with the virtual environment can be very useful indeed.
However, I have always found the Xbox controller awkward to use, and the Sony PlayStation controllers such as on the PS3 much easier. So it was useful to find that drivers and an Xbox 360 controller emulation is available to connect PlayStation controllers to Windows. A sample online tutorial can be found via this PC Magazine Page and this YouTube video by Wiltshire Tutorials..
Basically the procedure is to install MotioninJoy for its drivers only, not its “DS3 Tool” setup facility, and then replace the set up facility with “Better DS3”.
- Download and install the “MotioninJoy” drivers and configuration utility from http://www.motioninjoy.com/download. I used version 0.7.1001.
- BUT… DONT RUN THE MOTONINJOY DS3 TOOL CONFIGURATION UTILITY… as it opens and uses an external internet connection and opens potential Trojan routes to download and run software with administrator privileges on your computer (as noted by the creator of the “better DS3” tool below via the “about” link in that tool if you are interested in the full details).
- Plug in the Sony PlayStation Controller via a USB cable and let Windows install the drivers it finds – which will be MotioninJoy drivers.
- Run the MotioninJoy “DS3 Tool” and select the “Driver Manager” tab. There should be one or more “Hardware Locations” listed something like “Port_#….Hub_#…. select ALL of them using the tick boxes and hit the “Load driver” button. Running this once ensure appropriate drivers are installed on your system, whichever USB port you later use.
- Download and install the “Better DS3” tool from http://betterds3.ciebiera.net/ to replace the MotioninJoy tool, as its more intuitive to use and the author indicates it does not use the potentially risky methods of connecting “back to base” in the original MotioninJoy control panel.
- You can uninstall MotioninJoy at that stage (I think) if you wish as its no longer needed, and can delete any user files folder it used such as C:\Users\…\AppData\Roaming\MotioninJoy
- Start up Better DS3.exe and set up a new controller profile using “Xinput” mode and setting it to emulate the “Xbox 360 Wireless Receiver for Windows” (even if its wired that’s the emulation it provides to Windows). Set the configuration to the pre-provided auto-fill for “Xbox 360” emulation settings. That should mean that any game or application that allows for Xbox 360 controller use should work.
- Get it working in direct wired USB mode first. Test via, for example, the Windows Control Panel – Devices and Printers – and right click on your game controller and selet “Game controller settings”. Or there is a “Control Panel” button in “Better DS3” itself once the profile for the controller you created is selected (it takes you to the same Windows control panel and test facility). You can test all the sticks and buttons work there. You can leave it for USB direct wired plug in use, or set up for Bluetooth wireless operation.
- You must have Better DS.exe running when you want to use the PlayStation Controller. So if its not already running, or started automatically when you boot up your system, run it, select the profile you created and click “Apply” to start it up ahead of running your application or game.
- Run your application and all should work fine.
- If you have another controller, such as a Space Navigator, don’t leave that plugged in at the same time as the Virtual Worlds and Second Life viewers may see that instead as at present they only use the first controller they find (hopefully that will change at some stage as its reported as a Second Life Viewer JIRA issue).
Bluetooth Wireless Use versus Direct USB cable Connection
I am using the PS3 controller directly connected via a USB cable. Bluetooth wireless connection is possible using the drivers and control panels. However, there are a number of limitations and issues if you go that route.
- The PS3 controller can only be paired with one device. hence if you use it between your PC and a Sony PlayStation you will need to repeat the pairing each time you switch.
- If you pair the Bluetooth adapter on your PC with the PS3 controller setup it can only operate with that single device in a dedicated way. So other Bluetooth devices that you may use with your PC may not work.
- You must ensure that the Bluetooth adapter supports a minimum of Bluetooth 2.0+EDR. Most recent ones should do this.
One possibility is to use a separate dedicated Bluetooth adapter and a spare PS3 controller you will not switch back to the PlayStation.
Use with Second Life Viewers
The CtrlAltStudio viewer works immediately with the PS3 cotroller as it specifically provides support and appropriate sensitivity and axis selection and ditection setting for the “Xbox 360 Wireless Receiver for Windows” gamepad.
The standard Linden Labs Second Life viewer does not have specific settings at present for any joystick or gamepad other than the “Space Navigator”, but the PS3 acting as the “Xbox 360 Wireless Receiver for Windows” is recognised by the viewer and can be used if appropriate settings are made via Me – Preferences – Move & View – Other Devices. Use the CtrlAltStudio provided settings which work fairly well, or use my own adjusted settings which give a bit less sensitivity to small movements of the sticks before avatar movement takes place or the avatar breaks into a run.