Another option (if you don't want to do surgery on a controller) is to use the Processing software (
http://processing.org/) with the proCONTROLL Library (
http://creativecomputing.cc/p5libs/procontroll/). The proCONTROLL library will read your inputs, you can interpret them however you like, and then send them through serial to the Arduino.
I found this very convenient as Arduino is based off of Processing, making the interfaces nearly identical and easy to work with. I should be able to dig up some sample code later.