I second using Arduino boards. The Arduino Leonardo can easily be coded to act as a generic joystick.