I may later try to use the Arduino as an output device as well, to control a lit button, and some solenoids.
I've found the following sites with information:
- Keyboard: The Arduino Mouse and Keyboard libraries
- Joystick: This blog entry (with code)
- Arduino Leonardo Remote Control (Multimedia Keys) Support for Arduino 1.0.5
The second two links both require modifying two files (in the Arduino installation. Too bad the software is not flexible enough to support using new USB device types without modifying the distribution.
I forked the Arduino stable (1.0.6) distribution on GitHub here.
I've pushed my untested changes. To be continued.