I'm cleaning up my site, and I rediscovered a post I was working on a while ago but never published. I've abandoned this project, but I figured someone might be interested in my documentation I wrote while I was trying to get it working.
For a long time there has been a spaceball in my house. Basically, a spaceball is a joystick with six degrees of freedom and a bunch of buttons. Six degrees of freedom means it can take input along six degrees. Forwards and backwards, like a normal mouse or joystick (x and y), up and down (z axis), rotation around the z axis (clockwise/counterclockwise when looking down), pitching forwards and backwards (rotation around the x axis, or clockwise/counterclockwise when looking at it from the side), and finally, tilting from side to side (rotating around y axis, or clockwise/counterclockwise when looking at it from the front)
I don't really have a clue what I'll be able to use the spaceball for, but it's a really cool input device. It'd be perfect for flying around in Google Earth, or any sort of game that involves moving around in a 3d world. It could probably be used for a really cool sculpting program, or controlling a quadcopter.
I got the spaceball working after not much effort, although I would have saved some time if I'd tried using root to start with. The command is:
# inputattach -sbl /dev/ttyUSB0
Where /dev/ttyUSB0 is where the spaceball is attached to. If you have an actual serial port, it'll probably be one of the /dev/ttyS* files.
If you're trying to get a spaceball to work, try that command before continuing. If that works, you don't need to keep reading (but feel free to!). A few things which I tried before running that command follow the break. If you don't have inputattach, it's currently on apt-get for Ubuntu 11.10. If you're from the future when 11.10 is ancient, you can probably find it in archives somewhere, if it hasn't been updated. There's a small chance I'll have mirrored it somewhere to make sure my devices keep working, so you can also check whatever I'm using at the time to host my projects.