Video: Sixaxis Emulator Plays PS3 Games with Keyboard & Mouse
Today Matlo has updated his PlayStation 3 project which allows users to identify (spoof) a PC as a PS3 controller in order to use PC peripherals to control a PS3 and shared some videos followed by version 0.23 and v0.24 updates.
Based on the early work of Jim Paris, the application emulates the PS3's Sixaxis controller and sends commands via Bluetooth dongle plugged into a Linux computer allowing you to play all PS3 Games with keyboard and mouse.
i've been a console gamer all my life, since atari 2600 in 1986, except for a stint with an amstrad cpc464, LOL and even then i used a controller... but i'm sure a lot of people will like this.. good work.
Nice one ... just as a reminder - there are also two similar projects for Teensy (and a like) boards - one using only the Teensy board nad PS2 Keyboard + Mouse, so no need of PC, but this indeed plugs into PS3 via USB, and another one more or working in the same way as this one. Just look at project on the teensy web page
windows setup (diyps3controller.googlecode.com/files/setup-0.23.exe) - (usb connection only)
firmwares-0.23.zip (diyps3controller.googlecode.com/files/firmwares-0.23.zip) - (avr usb firmwares for the usb connection)
CP2102 windows drivers (silabs.com/pages/DownloadDoc.aspx?FILEURL=Support%20Documents/Software/CP210x_VCP_Win_XP_S2K3_Vista_7.exe)
[linux] the sixstatus gui generates movement glitches (work-around: use 100Hz or lower for the calibration)
[windows] the COM port is not detected (work-around: check the proper COM port in the device manager)
[usb] the controller state is wrong (work around: unplug/replug the teensy board)
[usb] game compatibility: there are some compatibility issues with games like GT5 and Fallout: New Vegas. These games seem to have compatibility issues with gamepads other than the sixaxis/dualshock 3 controllers. Considering game compatibility, it seems the best solution is to emulate a true wired sixaxis/dualshock 3 controller. My first releases won't do that, and I will work on that later.
[usb] buttons can't work as pressure-sensitive buttons: it's useless to configure them in the "Axis" tab of Sixemuconf
[windows] extra mouse buttons are not working
About the windows port: I got a few issues to solve for the windows port. It turned out the official SDL 1.2 library (cross-platform) isn't providing raw events from the mouse. No problem, I checked out the manymouse library and built a custom SDL library that provides raw mouse events.
Many people see the sixaxis emulator only as a mouse+keyboard converter. But it does a lot more than that. It also allows to use ANY game controller (gamepad/wheel...) with custom control mappings. It especially allows to use the XBox 360 controllers that work out-of-the-box (except the X button). What about the sixaxis/dualshock 3 controllers?
I wrote a post about QtSixA some time ago. This software allows to use the sixaxis/dualshock 3 controllers in Linux, and can be used with the sixaxis emulator as it emulates a standard game controller. There also is a software that allows to use sixaxis/dualshock 3 controllers in windows, it's called Motioninjoy. It's not open-source, and there are some ads in the GUI, but it's free, comes with signed bluetooth drivers, and is very complete: motion sensing (tested - I managed to control the crosshair in COD:BO...), rumble, but also macros and rapid fire...
For those following, below is version 0.24 as well via: blog.gimx.fr/?p=373
To quote: The application receives data from PC peripherals (mice, joysticks and keyboards) and sends checks to the PS3 via Bluetooth or USB. Other controls, such as gestures or voice are possible through the emulation of PC peripherals.
Changelog for v0.25:
The joystick now works / joysticks names are filled in gimx-config
Support of the navigation stick
The “Link Control” menu is checked by default
Config gimx do more bug in Linux
The combo boxes (dropdown lists) of Gimx-serial now work
Up to 7 controllers (Linux + Bluetooth only) – requires a BT dongle for each controller
Up to 8 profiles per controller
Quick change of the profile with change mode “return”
Supported devices: mice, keyboards, game controllers (gamepads, steering wheels, …)
Multiple joysticks, mice and keyboards
Configuration of GUIs with automatic notification and detection devices
Mappings button to button, pin to pin, push-to-pin and pin-to-button
Mapping of the mouse customizable (dead zone, sensitivity, acceleration)
Graphical display of the controller status
Calibration Mode the mouse
Smoothing of the mouse
Macros for clavier
100 updates / s (BT controller, real rates reported by the Sixaxis)
Up to 250 updates / s (USB controller, custom report rate)
Measure the maximum latency between the reception of the event and the show: controller = BT less than 12ms (shown)
Measure the average latency between the reception of the event and the show: USB controller = about 6ms (proven)
Motion sensing axis control
Motion sensing events
Custom minimal duration time for button events
[Windows] Some mouse buttons are not working
[usb] Some games are not compatible with gamepads other than the sixaxis/dualshock 3
Support for windows virtual devices (virtual keyboard, …)
Event scheduling for macros
Make gimx-fpsconfig capable of editing configs produced by gimx-config
Improvements for config examples
Diamond / flexible dead zone
Auto-updater for config examples
Remove mouse and keyboard names if “Multiple mice and keyboards” is unchecked.