A wide variety of controllers use MIDI to communicate, from MIDI slider boxes to multipurpose "control surfaces" to more esoteric controllers like the Kaoss Pad [kao()]. Since the roots of Pd and the Max family of data flow languages lies in MIDI, it is very well supported. MIDI devices are generally very low latency, but the MIDI protocol itself is designed around 7-bit resolution with some 14-bit resolution devices. 7-bit is quite limited for a controller, especially compared to USB tablets and mice.
There are many variations of the mixing board, known as MIDI "control surfaces", which provide anything from rows of basic sliders to large consoles with sliders, knobs, buttons, etc. They generally are reliable and designed for musical applications, making them a natural choice for a musical controller. Nick Fells uses MIDI control surfaces in a number of different instruments. His pieces Words on the streets are these and Still Life[Fells(2002)] are two examples. They use the Peavey PC1600x control surface, mapping each slider to various parameters to be directly controlled in realtime.
The Kaoss Pad is built around a two dimensional touch controller. It also has a couple arrays of buttons as well as a couple switches and knobs, which output MIDI data. Using this MIDI output in Pd, you can map all of the parts of the controller however you see fit. Kaos Tools [kao()] provide a set of objects that streamline the use of the Kaoss Pad in Pd. The Palm Pilot in combination with the program Theremidi [the()] can provide a cheap alternative to the Kaoss Pad. Theremidi uses the Palm Pilot touchscreen as an X/Y MIDI controller, much like the Kaoss Pad.
Hans-Christoph Steiner 2005-04-25