CommonLibSSE NG
XINPUT.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace REX::W32
4 {
5  inline constexpr std::uint16_t XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE{ 7849 };
6  inline constexpr std::uint16_t XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE{ 8689 };
7  inline constexpr std::uint8_t XINPUT_GAMEPAD_TRIGGER_THRESHOLD{ 30 };
8 }
9 
10 namespace REX::W32
11 {
12  enum XINPUT_GAMEPAD_BUTTON : std::uint16_t
13  {
24  XINPUT_GAMEPAD_A = 0x1000,
25  XINPUT_GAMEPAD_B = 0x2000,
26  XINPUT_GAMEPAD_X = 0x4000,
27  XINPUT_GAMEPAD_Y = 0x8000,
29  };
30 }
31 
32 namespace REX::W32
33 {
35  {
36  std::uint8_t batteryType;
37  std::uint8_t batteryLevel;
38  };
39 
41  {
42  std::uint16_t buttons;
43  std::uint8_t leftTrigger;
44  std::uint8_t rightTrigger;
45  std::int16_t thumbLX;
46  std::int16_t thumbLY;
47  std::int16_t thumbRX;
48  std::int16_t thumbRY;
49  };
50 
52  {
53  std::uint16_t virtualKey;
54  std::uint16_t unicode;
55  std::uint16_t flags;
56  std::uint8_t userIndex;
57  std::uint8_t hidCode;
58  };
59 
60  struct XINPUT_STATE
61  {
62  std::uint32_t packetNumber;
64  };
65 
67  {
68  std::uint16_t leftMotorSpeed;
69  std::uint16_t rightMotorSpeed;
70  };
71 
73  {
74  std::uint8_t type;
75  std::uint8_t subType;
76  std::uint16_t flags;
79  };
80 }
Definition: BSDirectInputManager.h:8
XINPUT_GAMEPAD_BUTTON
Definition: XINPUT.h:13
@ XINPUT_GAMEPAD_A
Definition: XINPUT.h:24
@ XINPUT_GAMEPAD_BUTTON_MASK
Definition: XINPUT.h:28
@ XINPUT_GAMEPAD_DPAD_LEFT
Definition: XINPUT.h:16
@ XINPUT_GAMEPAD_Y
Definition: XINPUT.h:27
@ XINPUT_GAMEPAD_LEFT_THUMB
Definition: XINPUT.h:20
@ XINPUT_GAMEPAD_RIGHT_SHOULDER
Definition: XINPUT.h:23
@ XINPUT_GAMEPAD_START
Definition: XINPUT.h:18
@ XINPUT_GAMEPAD_RIGHT_THUMB
Definition: XINPUT.h:21
@ XINPUT_GAMEPAD_B
Definition: XINPUT.h:25
@ XINPUT_GAMEPAD_BACK
Definition: XINPUT.h:19
@ XINPUT_GAMEPAD_DPAD_RIGHT
Definition: XINPUT.h:17
@ XINPUT_GAMEPAD_DPAD_UP
Definition: XINPUT.h:14
@ XINPUT_GAMEPAD_X
Definition: XINPUT.h:26
@ XINPUT_GAMEPAD_DPAD_DOWN
Definition: XINPUT.h:15
@ XINPUT_GAMEPAD_LEFT_SHOULDER
Definition: XINPUT.h:22
constexpr std::uint8_t XINPUT_GAMEPAD_TRIGGER_THRESHOLD
Definition: XINPUT.h:7
constexpr std::uint16_t XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE
Definition: XINPUT.h:6
constexpr std::uint16_t XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE
Definition: XINPUT.h:5
std::uint8_t batteryLevel
Definition: XINPUT.h:37
std::uint8_t batteryType
Definition: XINPUT.h:36
Definition: XINPUT.h:73
std::uint16_t flags
Definition: XINPUT.h:76
XINPUT_VIBRATION vibration
Definition: XINPUT.h:78
std::uint8_t type
Definition: XINPUT.h:74
XINPUT_GAMEPAD gamepad
Definition: XINPUT.h:77
std::uint8_t subType
Definition: XINPUT.h:75
Definition: XINPUT.h:41
std::uint16_t buttons
Definition: XINPUT.h:42
std::int16_t thumbLX
Definition: XINPUT.h:45
std::uint8_t rightTrigger
Definition: XINPUT.h:44
std::int16_t thumbLY
Definition: XINPUT.h:46
std::int16_t thumbRY
Definition: XINPUT.h:48
std::int16_t thumbRX
Definition: XINPUT.h:47
std::uint8_t leftTrigger
Definition: XINPUT.h:43
Definition: XINPUT.h:52
std::uint8_t userIndex
Definition: XINPUT.h:56
std::uint16_t unicode
Definition: XINPUT.h:54
std::uint16_t virtualKey
Definition: XINPUT.h:53
std::uint16_t flags
Definition: XINPUT.h:55
std::uint8_t hidCode
Definition: XINPUT.h:57
Definition: XINPUT.h:61
std::uint32_t packetNumber
Definition: XINPUT.h:62
XINPUT_GAMEPAD gamepad
Definition: XINPUT.h:63
Definition: XINPUT.h:67
std::uint16_t rightMotorSpeed
Definition: XINPUT.h:69
std::uint16_t leftMotorSpeed
Definition: XINPUT.h:68