Version 0.23 released

Main improvements:

  • windows version (usb connection only)
  • “set dongle address” tool of sixemugui is fixed
  • “replace mouse dpi” tool of sixemuconf is fixed

All corrected issues:

Download links:

Known issues:

  • [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…

Version 0.22 released

If you are upgrading from v0.15 or lower, read this post first: link.

Warning: this release wasn’t tested deeply…

New configuration example installed in the /etc/emuclient folder:

  • CallOfDuty:BlackOpsG500i2.xml (1:1 translation attempt)

Main improvements:

  • usb connection
  • the calibration mode automatically saves the configuration
  • calibration test for the 1:1 translation

All corrected issues:

Download links:

Sixemugui-rs232 layout:


More details about how to use this coming soon!

Version 0.21 released

Warning: the configuration writer of the mouse calibration mode is not working (issue 82) 🙁

If you are upgrading from v0.15 or lower, read this post first: link.

New configuration example installed in the /etc/emuclient folder:

  • CallOfDuty:BlackOpsG500i.xml (with stick intensity control)

Improvements:

  • the calibration mode automatically saves the configuration
  • stick intensity control for button-to-stick mapping
  • macros are fixed
  • emuclient is started automatically
  • the last used config file is auto-selected
  • a (big) memory leak is fixed

All corrected issues:

Download links:

New sixemuconf layout:


It’s now possible to have a better control over a stick with 4 keys or buttons (for ex WASD) and at least 1 modifier key or button (for ex a wheel, which is in fact 2 buttons).

The original idea was to enable to reach mid-positions. This was proposed by KillerBug (see issue 73).

The solution I coded enables to reach more positions of the 8 directions that can be generated with 4 buttons. Up to 127 positions for each direction = up to 1016 positions!

Example:

– dead zone = 31 (null-movement positions = black zone)
– shape = circle
– steps = 3 (number of positions for each direction)

The circle radiuses are 127, 95, 63.
Each red dot is a position we can reach with 4 direction buttons (ex WASD) + at least 1 modifier button (ex wheel).
With shape = rectangle, the red dots are aligned as squares.

Enjoy!!

Version 0.20 released

WARNING: this release totally breaks the configuration compatibility.

EDIT 21 April: The macro fonctionnality is broken 🙁

New configuration examples are installed to the /etc/emuclient folder:

  • CallOfDuty:BlackOps.xml (updated)
  • CallOfDuty:BlackOpsG500+G5.xml (configuration for 2 controllers)

Following items in the edit menu of Sixemuconf will let you convert your old configuration quickly:

  • Replace mouse: detect and replace mouse name&id in the current controller
  • Replace keyboard: detect and replace keyboard name&id in the current controller

Due to the correction of issue 60, you also will have to change ALL your mouse multipliers depending on your mouse frequency:

  • 125Hz : divide by 1.25
  • 250Hz : divide by 2.5
  • 500Hz : divide by 5

If you don’t know what frequency your mouse is running at, just try each value (or ask google for your mouse max frequency, and limit it to a maximum of 500Hz). High-end mice like the Logitech G5 or G500 are running at 500Hz (default frequency).

I know, this incompatibility sucks, but the new features in this version are worth the price. This probably won’t happen another time.

To prevent beginners to use this version until I’m sure its quality is good, I will not change the version in the tutorial, and the previous version will remain “featured” in the googlecode download page. About 500 people downloaded the previous version 🙂 I’m waiting everyone’s feedback! I’m just joking, but I really appreciate a few words and I accept both positive and negative feedbacks.

Main improvements:

  • multiple mice & keyboard (new configuration examples in /etc/emuclient)
  • synchronization improved
  • mouse translation improved
  • up to 8 configurations per controller
  • new mouse calibration mode

All corrected issues:

Download links:

New items in the edit menu of Sixemuconf:

The “Replace Mouse DPI” item lets you adjust your multipliers according to your old and new mouse dpi values (the higher the better). I recently bought a Logitech G500 (which is excellent by the way), and I run it at its max dpi (5700). My previous mouse is a Logitech G5 (max 2000 dpi). This means I had to multiply my multipliers by: 2000/5700.

New calibration mode, displayed in Sixstatus:

This calibration mode lets you calibrate each mouse independently. It reads values from the loaded configuration, but it still doesn’t save them (use Sixemuconf to apply changes to the configuration file). To change values, use rctrl+FX key combinations and use the mouse wheel.

Enjoy!!

Version 0.14 released

Main improvements:

  • Config file permission/ownership problems should be fixed.
  • Software reset is improved (better compatibility with Broadcom dongles).
  • It’s possible to choose a circle or rectangle dead zone shape.
  • Sixemuconf allows to modify a mapping.
  • Sixemugui doesn’t hang anymore if connection is not successful.

All corrected issues:

Download link: sixemu_0.14-1_i386.deb

Enjoy!!

New all-in-one package 0.13

I built a new all-in-one package 0.13 that includes everything needed to install, configure and launch the sixaxis emulator.

It features a new gui called “sixstatus” that is able to display the sixaxis status (issue 35), as shown in the following screenshot:


It’s now possible to save the configuration of sixemugui (Sixaxis and PS3 addresses) so that it is not required (except for the first launch) to have the sixaxis plugged anymore (issue 33).

Last but not least, the mouse calibration mode is improved (issue 36).

If you installed the 9.99 test package, uninstall it before installing this new package!

Package download: sixemu_0.13-1_i386.deb

I will update the tutorials latter.