Describes an instance of a DirectInput device. This structure is used with the IDirectInput8::EnumDevices, IDirectInput8::EnumDevicesBySemantics, and IDirectInputDevice8::GetDeviceInfo methods.
typedef struct DIDEVICEINSTANCE { DWORD dwSize; GUID guidInstance; GUID guidProduct; DWORD dwDevType; TCHAR tszInstanceName[MAX_PATH]; TCHAR tszProductName[MAX_PATH]; GUID guidFFDriver; WORD wUsagePage; WORD wUsage; } DIDEVICEINSTANCE, *LPDIDEVICEINSTANCE;
The following device types and subtypes are defined for use in the dwDevType member.
First-person action game device. The following subtypes are defined.
Device that does not provide the minimum number of device objects for action mapping.
Device designed for first-person shooter games.
Device with six degrees of freedom; that is, three lateral axes and three rotational axes.
Unknown subtype.
Device that does not fall into another category.
Input device used to control another type of device from within the context of the application. The following subtypes are defined.
Control used to make communications selections.
Device that must use its default configuration and cannot be remapped.
Unknown subtype.
Device for steering. The following subtypes are defined.
Steering device that reports acceleration and brake pedal values from a single axis.
Steering device that reports acceleration and brake pedal values from separate axes.
Hand-held steering device.
Steering device that does not provide the minimum number of device objects for action mapping.
Steering device that reports acceleration, brake, and clutch pedal values from separate axes.
Controller for flight simulation. The following subtypes are defined.
Flight controller that does not provide the minimum number of device objects for action mapping.
Flight device based on a remote control for model aircraft.
Joystick.
Yoke.
Gamepad. The following subtypes are defined.
Gamepad that does not provide the minimum number of device objects for action mapping.
Standard gamepad that provides the minimum number of device objects for action mapping.
Gamepad that can report x-axis and y-axis data based on the attitude of the controller.
Joystick. The following subtypes are defined.
Joystick that does not provide the minimum number of device objects for action mapping.
Standard joystick that provides the minimum number of device objects for action mapping.
Keyboard or keyboard-like device. The following subtypes are defined.
Subtype could not be determined.
IBM PC/XT 83-key keyboard.
Olivetti 102-key keyboard.
IBM PC/AT 84-key keyboard.
IBM PC Enhanced 101/102-key or Microsoft Natural keyboard.
Nokia 1050 keyboard.
Nokia 9140 keyboard.
Japanese NEC PC98 keyboard.
Japanese NEC PC98 laptop keyboard.
Japanese NEC PC98 106-key keyboard.
Japanese 106-key keyboard.
Japanese AX keyboard.
Japanese J3100 keyboard.
A mouse or mouse-like device (such as a trackball). The following subtypes are defined.
Mouse that returns absolute axis data.
Fingerstick.
Touchpad.
Trackball.
Traditional mouse.
Subtype could not be determined.
Remote-control device. The following subtype is defined.
Subtype could not be determined.
Screen pointer. The following subtypes are defined.
Unknown subtype.
Light gun.
Light pen.
Touch screen.
Specialized device with functionality unsuitable for the main control of an application, such as pedals used with a wheel. The following subtypes are defined.
Secondary handheld controller.
Device whose primary function is to report acceleration and brake pedal values from a single axis.
Device whose primary function is to report acceleration and brake pedal values from separate axes.
Device that tracks hand movement.
Device that tracks head movement.
Device with rudder pedals.
Device that reports gear selection from an axis.
Device that reports gear selection from button states.
Device whose primary function is to report at least two throttle values. It may have other controls.
Device whose primary function is to report acceleration, brake, and clutch pedal values from separate axes.
Device whose primary function is to report a single throttle value. It may have other controls.
Unknown subtype.
Versions of DirectInput earlier than DirectX 8.0 have a somewhat different scheme of device types and subtypes. See the DIDEVTYPExxx defines in Dinput.h.