- interfacing with playstation joysticks and dance pads
There is support in KeyKit (on Windows only) for joysticks.
To use Playstation joysticks (and anything that looks like joystick buttons, such as a playstation dance pad), you need a USB-to-PS2 converter. NOTE!!! All USB-to-PS2(playstation2) interfaces are not the same - in particular the quality of the drivers varies greatly. For example, some of them require a reboot if you unplug/plug the playstation peripherals, and others don't recognize multiple devices. I played with quite a variety (and almost abandoned the effort entirely!) before finding one (and its driver) that worked well. It is the EMS USB-2 interface which you can find (among other places), here: http://www.levelsix.com/products/pc/EMSUSB2.shtml
I have successfully plugged 4 of these dual-port devices into a PC, and hooked 8 devices (in my case, playstation dance pads) into it. The device driver presents these devices as joysticks.
The Keykit support for this takes the form of a Windows-specific hook (using the mdep() function) that adds "generic" joystick support - so, anything that presents itself to Windows as a joystick device (with buttons) can be used.
You'll find example code in the lib/joypad.k file. The lib/padmonitor.k code is an object that can be used to help monitor the pads/joysticks for events and sent them to things that subscribe to the events.
I used this interface to connect 4 Playstation Dance Pads to my laptop for my performance at the Woodstockhausen 2002 concert, The piece was called "Happy Feet". Here's a description, and here's an mp3 of the performance. I also took this keykit+dancepad stuff to Burning Man in August 2002. See the "movie" link at http://nosuch.com/tjt/bm/ for a clip of people dancing on the pads.