// All Little Endian
SDL_HARDWARE_BUS:SDL_HARDWARE_BUS_VIRTUAL 0x00
SDL_HARDWARE_BUS:SDL_HARDWARE_BUS_USB 0x03
SDL_HARDWARE_BUS:SDL_HARDWARE_BUS_BLUETOOTH 0x05
SDL_JoystickType:SDL_JOYSTICK_TYPE_UNKNOWN 0x0
SDL_JoystickType:SDL_JOYSTICK_TYPE_GAMECONTROLLER 0x1
SDL_JoystickType:SDL_JOYSTICK_TYPE_WHEEL 0x2
SDL_JoystickType:SDL_JOYSTICK_TYPE_ARCADE_STICK 0x3
SDL_JoystickType:SDL_JOYSTICK_TYPE_FLIGHT_STICK 0x4
SDL_JoystickType:SDL_JOYSTICK_TYPE_DANCE_PAD 0x5
SDL_JoystickType:SDL_JOYSTICK_TYPE_GUITAR 0x6
SDL_JoystickType:SDL_JOYSTICK_TYPE_DRUM_KIT 0x7
SDL_JoystickType:SDL_JOYSTICK_TYPE_ARCADE_PAD 0x8
SDL_JoystickType:SDL_JOYSTICK_TYPE_THROTTLE 0x9
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_UNKNOWN 0x00
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_GAMEPAD 0x01
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_WHEEL 0x02
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_ARCADE_STICK 0x03
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_FLIGHT_STICK 0x04
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_DANCE_PAD 0x05
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_GUITAR 0x06
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE 0x07
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_DRUM_KIT 0x08
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_GUITAR_BASS 0x0B
XINPUT_DEVSUBTYPE:XINPUT_DEVSUBTYPE_ARCADE_PAD 0x13
GUID Structure (AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP)
AABB
|
CCDD
|
EEFF
|
GGHH
|
IIJJ
|
KKLL
|
MMNN
|
OO
|
PP
|
joystick\* Source
|
SDL_HARDWARE_BUS_BLUETOOTH
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
button_mask
|
axis_mask
|
android\SDL_sysjoystick.c
|
SDL_HARDWARE_BUS_BLUETOOTH
|
0x0000
|
First4(desc)
|
CRC32(desc)
|
button_mask
|
axis_mask
|
android\SDL_sysjoystick.c
|
SDL_HARDWARE_BUS_USB
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
0x00
|
0x00
|
darwin\SDL_iokitjoystick.c
|
SDL_HARDWARE_BUS_BLUETOOTH
|
0x0000
|
First12(Product)
|
darwin\SDL_iokitjoystick.c
|
SDL_HARDWARE_BUS_USB
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
'h'
|
0x00
|
hidapi\SDL_hidapijoystick.c
|
SDL_HARDWARE_BUS
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
0x00
|
0x00
|
linux\SDL_sysjoystick.c
|
SDL_HARDWARE_BUS
|
0x0000
|
First12(Name)
|
linux\SDL_sysjoystick.c
|
0x0000
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
0x0000
|
0x00
|
0x00
|
SDL_joystick.c
|
SDL_HARDWARE_BUS_VIRTUAL
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
0x0000
|
'v'
|
SDL_JoystickType
|
virtual\SDL_virtualjoystick.c
|
SDL_HARDWARE_BUS_USB
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
0x00
|
0x00
|
windows\SDL_dinputjoystick.c
|
SDL_HARDWARE_BUS_BLUETOOTH
|
0x0000
|
First12(joystickname)
|
windows\SDL_dinputjoystick.c
|
SDL_HARDWARE_BUS_USB
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
'r'
|
0x00
|
windows\SDL_rawinputjoystick.c
|
SDL_HARDWARE_BUS_USB
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
'w'
|
SDL_JoystickType
|
windows\SDL_windows_gaming_input.c
|
SDL_HARDWARE_BUS_USB
|
0x0000
|
VID
|
0x0000
|
PID
|
0x0000
|
Version
|
'x'
|
XINPUT_DEVSUBTYPE
|
windows\SDL_xinputjoystick.c
|