Hans;

You might want to have a look at the spacenavigator thread, for example
 https://lists.cs.princeton.edu/pipermail/chuck-users/2009-May/004258.html
and what follows.

That is a very different issue, in that case we were dealing with a device of a type unknown to ChucK. Here we are dealing with a laptop touchpad and touchpads work as mice (in addition to the other capabilities that you outline below which we don't yet deal with). Up to here ChucK agrees with me, this is what it prints when running mouse.ck;

[chuck](VM): sporking incoming shred: 1 (mouse.ck)...
mouse 'SynPS/2 Synaptics TouchPad' ready 
 

The HIDs work so that they have a series of button which can give range of values and they are also marked for intended use. So a mouse report relative position or velocities (don't remember which), whereas a trackpad report absolute position - a different variable.

I do believe touchpads also output the change in position. I think it might be interesting to also read this absolute position for ChaosPad style modulations but that's something for the wishlist. Touchpads should work -I feel- and generally they do; Plork/Slork did play "bowed touchpad" by swiping them and sending the resultant signal to some sort of soundsource in ChucK.

I hacked up a program that reports them all on Mac OS X.

Chuck only implements a few of them.

That is true. I think part of the reason for that is that they aren't very standardised. Some touchpads also report on the pressure excerted and others do things like multi-touch. I would imagine that a Synaptic touchpad on a off-the-shelf laptop should be fairly standard, at least at it's core.
 

On Mac OS X, all HISs in each category start at 0. So there is no need going up in numbers.

I'm not sure what you mean by that; the first one is indeed always called "0" but that may not be the one we are interested in or we may be using several devices at the same time; I regularly perform with 3 joystick devices, for example.

Yours,
Kas.