sixaxisd is a little daemon that will translate sixaxis input, sent via bluetooth, into joystick and (optionally) mouse input. I found it as part of the pdaXrom-ng distro, available here.
To set it up, grab the source here, unpack, apply the patch from here (which fixes a couple of axis mappings) and compile using make.
You need a kernel with uinput support (Device drivers -> Input device support -> Miscellaneous devices -> User level driver support – or CONFIG_INPUT_UINPUT) and appropriate bluetooth support (I use ps3_defconfig’s defaults in this area), although you don’t need any particular system bluetooth services running – we set that up ourselves.
To configure the bluetooth device using hciconfig (which is part of Debian’s bluez package), run the following commands –
hciconfig hci0 up # bring up the interface hciconfig hci0 lm master # set link mode to master hciconfig hci0 piscan # enable page and inquiry scan
And then start the daemon –
# optional -mouse param provides mouse emulation ./sixaxisd -mouse
Hit the PS button on the controller to bring it to life – all going well, there device nodes /dev/input/js0 and /dev/input/mouse0 will be created.
There’s an init script to handle the hci configuration and all of this that may be found in the pdaXrom svn repo.
(I use my sixaxis with my PS3 – if you want to use it with a different system, you’ll need to use sixpair, available here)
[..] A bit unrelated, but I quite simply liked this blog post [..]