Table of Contents
Gadgeteer acts as a hardware device management system. It contains a dynamically extensible Input Manager that treats devices in terms of abstract concepts such as “positional,” “digital,” “gesture,” etc. It also contains a Remote Input Manager that can share device samples between computers[1]. Most importantly, Gadgeteer provides device input for use with VR Juggler applications. As such, Gadgeteer was designed from the beginning to be used with an ever-widening array of virtual reality hardware configurations.
Gadgeteer serves to hide input device hardware from programmers so that immersive software may be written that can take advantage of a wide variety of devices. This goal arises from previous experience with software toolkits that tied immersive applications to specific devices, thereby limiting the portability of the applications between immersive hardware configurations. With Gadgeteer, applications can be written that migrate transparently between different hardware configurations with no required knowledge on the part of the application author relating to vendors, models, drivers, etc.
Gadgeteer categorizes input devices based on abstract input types. The categories are the following:
Position
Analog
Digital
Glove
Gesture
Simulator
Each of these is described in more detail below in the section called “Device Types”.
In this categorization, devices from different vendors may return data that maps to the same abstract form. A single piece of hardware may even map to multiple input types, and more device types can be added as new hardware becomes available. Application authors write their code in terms of abstract input types, so as long as a device is available that provides the needed input, the application can function.
[1] The Remote Input Manager provides the foundation for Cluster Juggler, the software that allows VR Juggler applications to be run on a cluster of graphics workstations. For more information about Cluster Juggler refer to the Cluster Juggler Guide and to the VR Juggler website.