]>
Commit | Line | Data |
---|---|---|
e1599b0c XL |
1 | // Copyright © 2015, Peter Atashian |
2 | // Licensed under the MIT License <LICENSE.md> | |
3 | //! XInput procedure declarations, constant definitions and macros | |
4 | pub const XINPUT_DEVTYPE_GAMEPAD: ::BYTE = 0x01; | |
5 | pub const XINPUT_DEVSUBTYPE_GAMEPAD: ::BYTE = 0x01; | |
6 | pub const XINPUT_DEVSUBTYPE_WHEEL: ::BYTE = 0x02; | |
7 | pub const XINPUT_DEVSUBTYPE_ARCADE_STICK: ::BYTE = 0x03; | |
8 | pub const XINPUT_DEVSUBTYPE_FLIGHT_SICK: ::BYTE = 0x04; | |
9 | pub const XINPUT_DEVSUBTYPE_DANCE_PAD: ::BYTE = 0x05; | |
10 | pub const XINPUT_DEVSUBTYPE_GUITAR: ::BYTE = 0x06; | |
11 | pub const XINPUT_DEVSUBTYPE_DRUM_KIT: ::BYTE = 0x08; | |
12 | pub const XINPUT_CAPS_VOICE_SUPPORTED: ::WORD = 0x0004; | |
13 | pub const XINPUT_GAMEPAD_DPAD_UP: ::WORD = 0x0001; | |
14 | pub const XINPUT_GAMEPAD_DPAD_DOWN: ::WORD = 0x0002; | |
15 | pub const XINPUT_GAMEPAD_DPAD_LEFT: ::WORD = 0x0004; | |
16 | pub const XINPUT_GAMEPAD_DPAD_RIGHT: ::WORD = 0x0008; | |
17 | pub const XINPUT_GAMEPAD_START: ::WORD = 0x0010; | |
18 | pub const XINPUT_GAMEPAD_BACK: ::WORD = 0x0020; | |
19 | pub const XINPUT_GAMEPAD_LEFT_THUMB: ::WORD = 0x0040; | |
20 | pub const XINPUT_GAMEPAD_RIGHT_THUMB: ::WORD = 0x0080; | |
21 | pub const XINPUT_GAMEPAD_LEFT_SHOULDER: ::WORD = 0x0100; | |
22 | pub const XINPUT_GAMEPAD_RIGHT_SHOULDER: ::WORD = 0x0200; | |
23 | pub const XINPUT_GAMEPAD_A: ::WORD = 0x1000; | |
24 | pub const XINPUT_GAMEPAD_B: ::WORD = 0x2000; | |
25 | pub const XINPUT_GAMEPAD_X: ::WORD = 0x4000; | |
26 | pub const XINPUT_GAMEPAD_Y: ::WORD = 0x8000; | |
27 | pub const XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE: ::SHORT = 7849; | |
28 | pub const XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE: ::SHORT = 8689; | |
29 | pub const XINPUT_GAMEPAD_TRIGGER_THRESHOLD: ::BYTE = 30; | |
30 | pub const XINPUT_FLAG_GAMEPAD: ::DWORD = 0x00000001; | |
31 | pub const BATTERY_DEVTYPE_GAMEPAD: ::BYTE = 0x00; | |
32 | pub const BATTERY_DEVTYPE_HEADSET: ::BYTE = 0x01; | |
33 | pub const BATTERY_TYPE_DISCONNECTED: ::BYTE = 0x00; | |
34 | pub const BATTERY_TYPE_WIRED: ::BYTE = 0x01; | |
35 | pub const BATTERY_TYPE_ALKALINE: ::BYTE = 0x02; | |
36 | pub const BATTERY_TYPE_NIMH: ::BYTE = 0x03; | |
37 | pub const BATTERY_TYPE_UNKNOWN: ::BYTE = 0xFF; | |
38 | pub const BATTERY_LEVEL_EMPTY: ::BYTE = 0x00; | |
39 | pub const BATTERY_LEVEL_LOW: ::BYTE = 0x01; | |
40 | pub const BATTERY_LEVEL_MEDIUM: ::BYTE = 0x02; | |
41 | pub const BATTERY_LEVEL_FULL: ::BYTE = 0x03; | |
42 | pub const XUSER_MAX_COUNT: ::DWORD = 4; | |
43 | pub const XUSER_INDEX_ANY: ::DWORD = 0x000000FF; | |
44 | pub const VK_PAD_A: ::WORD = 0x5800; | |
45 | pub const VK_PAD_B: ::WORD = 0x5801; | |
46 | pub const VK_PAD_X: ::WORD = 0x5802; | |
47 | pub const VK_PAD_Y: ::WORD = 0x5803; | |
48 | pub const VK_PAD_RSHOULDER: ::WORD = 0x5804; | |
49 | pub const VK_PAD_LSHOULDER: ::WORD = 0x5805; | |
50 | pub const VK_PAD_LTRIGGER: ::WORD = 0x5806; | |
51 | pub const VK_PAD_RTRIGGER: ::WORD = 0x5807; | |
52 | pub const VK_PAD_DPAD_UP: ::WORD = 0x5810; | |
53 | pub const VK_PAD_DPAD_DOWN: ::WORD = 0x5811; | |
54 | pub const VK_PAD_DPAD_LEFT: ::WORD = 0x5812; | |
55 | pub const VK_PAD_DPAD_RIGHT: ::WORD = 0x5813; | |
56 | pub const VK_PAD_START: ::WORD = 0x5814; | |
57 | pub const VK_PAD_BACK: ::WORD = 0x5815; | |
58 | pub const VK_PAD_LTHUMB_PRESS: ::WORD = 0x5816; | |
59 | pub const VK_PAD_RTHUMB_PRESS: ::WORD = 0x5817; | |
60 | pub const VK_PAD_LTHUMB_UP: ::WORD = 0x5820; | |
61 | pub const VK_PAD_LTHUMB_DOWN: ::WORD = 0x5821; | |
62 | pub const VK_PAD_LTHUMB_RIGHT: ::WORD = 0x5822; | |
63 | pub const VK_PAD_LTHUMB_LEFT: ::WORD = 0x5823; | |
64 | pub const VK_PAD_LTHUMB_UPLEFT: ::WORD = 0x5824; | |
65 | pub const VK_PAD_LTHUMB_UPRIGHT: ::WORD = 0x5825; | |
66 | pub const VK_PAD_LTHUMB_DOWNRIGHT: ::WORD = 0x5826; | |
67 | pub const VK_PAD_LTHUMB_DOWNLEFT: ::WORD = 0x5827; | |
68 | pub const VK_PAD_RTHUMB_UP: ::WORD = 0x5830; | |
69 | pub const VK_PAD_RTHUMB_DOWN: ::WORD = 0x5831; | |
70 | pub const VK_PAD_RTHUMB_RIGHT: ::WORD = 0x5832; | |
71 | pub const VK_PAD_RTHUMB_LEFT: ::WORD = 0x5833; | |
72 | pub const VK_PAD_RTHUMB_UPLEFT: ::WORD = 0x5834; | |
73 | pub const VK_PAD_RTHUMB_UPRIGHT: ::WORD = 0x5835; | |
74 | pub const VK_PAD_RTHUMB_DOWNRIGHT: ::WORD = 0x5836; | |
75 | pub const VK_PAD_RTHUMB_DOWNLEFT: ::WORD = 0x5837; | |
76 | pub const XINPUT_KEYSTROKE_KEYDOWN: ::WORD = 0x0001; | |
77 | pub const XINPUT_KEYSTROKE_KEYUP: ::WORD = 0x0002; | |
78 | pub const XINPUT_KEYSTROKE_REPEAT: ::WORD = 0x0004; | |
79 | STRUCT!{struct XINPUT_GAMEPAD { | |
80 | wButtons: ::WORD, | |
81 | bLeftTrigger: ::BYTE, | |
82 | bRightTrigger: ::BYTE, | |
83 | sThumbLX: ::SHORT, | |
84 | sThumbLY: ::SHORT, | |
85 | sThumbRX: ::SHORT, | |
86 | sThumbRY: ::SHORT, | |
87 | }} | |
88 | pub type PXINPUT_GAMEPAD = *mut XINPUT_GAMEPAD; | |
89 | STRUCT!{struct XINPUT_STATE { | |
90 | dwPacketNumber: ::DWORD, | |
91 | Gamepad: ::XINPUT_GAMEPAD, | |
92 | }} | |
93 | pub type PXINPUT_STATE = *mut XINPUT_STATE; | |
94 | STRUCT!{struct XINPUT_VIBRATION { | |
95 | wLeftMotorSpeed: ::WORD, | |
96 | wRightMotorSpeed: ::WORD, | |
97 | }} | |
98 | pub type PXINPUT_VIBRATION = *mut XINPUT_VIBRATION; | |
99 | STRUCT!{struct XINPUT_CAPABILITIES { | |
100 | Type: ::BYTE, | |
101 | SubType: ::BYTE, | |
102 | Flags: ::WORD, | |
103 | Gamepad: ::XINPUT_GAMEPAD, | |
104 | Vibration: ::XINPUT_VIBRATION, | |
105 | }} | |
106 | pub type PXINPUT_CAPABILITIES = *mut XINPUT_CAPABILITIES; | |
107 | STRUCT!{struct XINPUT_BATTERY_INFORMATION { | |
108 | BatteryType: ::BYTE, | |
109 | BatteryLevel: ::BYTE, | |
110 | }} | |
111 | pub type PXINPUT_BATTERY_INFORMATION = *mut XINPUT_BATTERY_INFORMATION; | |
112 | STRUCT!{struct XINPUT_KEYSTROKE { | |
113 | VirtualKey: ::WORD, | |
114 | Unicode: ::WCHAR, | |
115 | UserIndex: ::BYTE, | |
116 | HidCode: ::BYTE, | |
117 | }} | |
118 | pub type PXINPUT_KEYSTROKE = *mut XINPUT_KEYSTROKE; |