I’m interested in this, too!
I don’t have much experience with VRPN, but I do have experience with TrackD which is conceptually similar.
BlackRang666’s comment is worth consideration. In my experience, the “traditional” device inputs are usually classified into a collection of analog or digital inputs. For instance, a joystick is two analog devices. A button is a digital (on/off) device. So, a gamepad would have 4-6 analog inputs, and 8-12 digital ones.
Trackers are usually classified differently. They’re really just a collection of analog inputs (x,y,z / h,p,r), but as there is an implicit relationship amongst the values, they are reported together.
The most flexible systems (non gaming) I’ve seen allow users to configure their devices through an abstraction layer that maps device inputs to logical functions. So, for instance, you code against the “fire button” and then define which input that button is.
Mike