| DirectX SDK | 
Members of the CONST_DIDEVICETYPE enumeration are used to identify the input device type and subtype. A packed value representing the type and subtype is returned by the DirectInputDeviceInstance.GetDevType method and in the lDevType member of the DIDEVCAPS type returned by DirectInputDevice.GetCapabilities. A value representing a primary type is passed as the deviceType parameter to the DirectInput.GetDIEnumDevices method.
For a table of members listed by type and subtype, see DirectInputDeviceInstance.GetDevType.
Enum CONST_DIDEVICETYPE
    DIDEVTYPE_DEVICE              = 1
    DIDEVTYPE_HID             = 65536 (&H10000)
    DIDEVTYPE_JOYSTICK            = 4
    DIDEVTYPE_KEYBOARD            = 3
    DIDEVTYPE_MOUSE               = 2
    DIDEVTYPEJOYSTICK_FLIGHTSTICK = 3
    DIDEVTYPEJOYSTICK_GAMEPAD     = 4
    DIDEVTYPEJOYSTICK_HEADTRACKER = 7
    DIDEVTYPEJOYSTICK_RUDDER      = 5
    DIDEVTYPEJOYSTICK_TRADITIONAL = 2
    DIDEVTYPEJOYSTICK_UNKNOWN     = 1
    DIDEVTYPEJOYSTICK_WHEEL       = 6
    DIDEVTYPEKEYBOARD_J3100      = 12
    DIDEVTYPEKEYBOARD_JAPAN106   = 10
    DIDEVTYPEKEYBOARD_JAPANAX    = 11
    DIDEVTYPEKEYBOARD_NEC98       = 7
    DIDEVTYPEKEYBOARD_NEC98106    = 9
    DIDEVTYPEKEYBOARD_NEC98LAPTOP = 8
    DIDEVTYPEKEYBOARD_NOKIA1050   = 5
    DIDEVTYPEKEYBOARD_NOKIA9140   = 6
    DIDEVTYPEKEYBOARD_OLIVETTI    = 2
    DIDEVTYPEKEYBOARD_PCAT        = 3
    DIDEVTYPEKEYBOARD_PCENH       = 4
    DIDEVTYPEKEYBOARD_PCXT        = 1
    DIDEVTYPEKEYBOARD_UNKNOWN     = 0
    DIDEVTYPEMOUSE_FINGERSTICK    = 3
    DIDEVTYPEMOUSE_TOUCHPAD       = 4
    DIDEVTYPEMOUSE_TRACKBALL      = 5
    DIDEVTYPEMOUSE_TRADITIONAL    = 2
    DIDEVTYPEMOUSE_UNKNOWN        = 1
End Enum