Clone wiki

jsixaxis / Home


Hi there!

Welcome to JSixAxis, a library for accessing the SixAxis controller in linux.

Uhm, what's that?

The Sixaxis is the gamepad, the main controller of the Playstation 3. This library is intended to provide an easy (and rather high-level) way of accessing that gamepad and reading out certain values like the motion sensors or the buttons pressed. It is currently work in progress and looks more like a code compilation rather than a real library with an API.

Pics or it didn't happen

JSixAxis Demo

What's there and what will be there

Currently implemented features

  • Discovers connected gamepads
  • Reads out the gamepad's buttons
  • Reads out the accelerometer's values
  • Works via bluetooth as well as USB
  • Somewhat more which I forgot

What's planned?

  • A rewrite of the library in scala
  • Completing the library
  • Addition of ways to get notified of hotplugged devices after the library was initialized

Building and running JSixAxis

What you need

  • A SixAxis controller (obviously)
  • Linux (kernel greater or equal than 2.6.26)
  • sbt (optionally)

How to build

  • sbt compile (if you want to use sbt)
  • sbt eclipse (if you want sbt to automagically set up an eclipse project for you)

How to run

  • chmod 777 /dev/hidraw0 (as root, to allow the library to access the controller)
  • sbt run (or by starting "Main" in your favorite IDE)

Any documentation?

There is a simple User Guide available. Besides that, an experimental article giving some insights in the library's internals is available, too.

If you want to try it, have a look at the source ( It was written with readability in mind.

Is this official?

No, it isn't.

Any releases yet?

None yet.