Microsoft DirectX 8.0 (Visual Basic)

DirectInput Objects

An input-only Microsoft® DirectInput® implementation consists of a single DirectInput8 object along with DirectInputDevice8 objects for each input device that is being used by the application. The DirectInputDevice8 object is used for retrieving the input data.

Any available device, regardless of whether it is being used by DirectInput, can also be represented by a DirectInputDeviceInstance8 object, which can be used to retrieve miscellaneous information about that device.

Each DirectInputDevice8 object represents one input device, such as a mouse, keyboard, or joystick. (The DirectInput API uses the term joystick for all game controllers other than a mouse or a keyboard.) A piece of hardware that is really a combination of different types of input devices, such as a keyboard with a touchpad, can be represented by two or more DirectInputDevice8 objects. A force-feedback device is represented by a single joystick object that handles both input and output.

Each device in turn has device objects, which are individual controls or switches, such as keys, buttons, or axes. Each device object is represented by an instance of the DirectInputDeviceObjectInstance class, whose methods can be used to retrieve information about the device object. (The input data, however, is always retrieved by DirectInputDevice8.)

Devices and device objects can be enumerated, and the resulting collections are represented by DirectInput8.GetDIDevices and DirectInputDevice8.GetDeviceObjectsEnum objects.

Force-feedback effects are represented by the DirectInputEffect class. Methods of this interface are used to create, modify, start, and stop effects.