]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Win32/UI/Input/XboxController/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / UI / Input / XboxController / mod.rs
CommitLineData
5e7ed085
FG
1#[link(name = "windows")]
2extern "system" {
04454e1e 3 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn XInputEnable(enable: super::super::super::Foundation::BOOL);
04454e1e
FG
6 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
7 pub fn XInputGetAudioDeviceIds(dwuserindex: u32, prenderdeviceid: ::windows_sys::core::PWSTR, prendercount: *mut u32, pcapturedeviceid: ::windows_sys::core::PWSTR, pcapturecount: *mut u32) -> u32;
8 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 9 pub fn XInputGetBatteryInformation(dwuserindex: u32, devtype: u8, pbatteryinformation: *mut XINPUT_BATTERY_INFORMATION) -> u32;
04454e1e 10 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 11 pub fn XInputGetCapabilities(dwuserindex: u32, dwflags: u32, pcapabilities: *mut XINPUT_CAPABILITIES) -> u32;
04454e1e 12 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 13 pub fn XInputGetKeystroke(dwuserindex: u32, dwreserved: u32, pkeystroke: *mut XINPUT_KEYSTROKE) -> u32;
04454e1e 14 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 15 pub fn XInputGetState(dwuserindex: u32, pstate: *mut XINPUT_STATE) -> u32;
04454e1e 16 #[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
17 pub fn XInputSetState(dwuserindex: u32, pvibration: *const XINPUT_VIBRATION) -> u32;
18}
04454e1e 19#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 20pub const BATTERY_DEVTYPE_GAMEPAD: u32 = 0u32;
04454e1e 21#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 22pub const BATTERY_DEVTYPE_HEADSET: u32 = 1u32;
04454e1e 23#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 24pub const BATTERY_LEVEL_EMPTY: u32 = 0u32;
04454e1e 25#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 26pub const BATTERY_LEVEL_FULL: u32 = 3u32;
04454e1e 27#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 28pub const BATTERY_LEVEL_LOW: u32 = 1u32;
04454e1e 29#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 30pub const BATTERY_LEVEL_MEDIUM: u32 = 2u32;
04454e1e 31#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 32pub const BATTERY_TYPE_ALKALINE: u32 = 2u32;
04454e1e 33#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 34pub const BATTERY_TYPE_DISCONNECTED: u32 = 0u32;
04454e1e 35#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 36pub const BATTERY_TYPE_NIMH: u32 = 3u32;
04454e1e 37#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 38pub const BATTERY_TYPE_UNKNOWN: u32 = 255u32;
04454e1e 39#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
40pub const BATTERY_TYPE_WIRED: u32 = 1u32;
41#[repr(C)]
04454e1e 42#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
43pub struct XINPUT_BATTERY_INFORMATION {
44 pub BatteryType: u8,
45 pub BatteryLevel: u8,
46}
47impl ::core::marker::Copy for XINPUT_BATTERY_INFORMATION {}
48impl ::core::clone::Clone for XINPUT_BATTERY_INFORMATION {
49 fn clone(&self) -> Self {
50 *self
51 }
52}
53#[repr(C)]
04454e1e 54#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
55pub struct XINPUT_CAPABILITIES {
56 pub Type: u8,
57 pub SubType: u8,
58 pub Flags: u16,
59 pub Gamepad: XINPUT_GAMEPAD,
60 pub Vibration: XINPUT_VIBRATION,
61}
62impl ::core::marker::Copy for XINPUT_CAPABILITIES {}
63impl ::core::clone::Clone for XINPUT_CAPABILITIES {
64 fn clone(&self) -> Self {
65 *self
66 }
67}
04454e1e 68#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 69pub const XINPUT_CAPS_FFB_SUPPORTED: u32 = 1u32;
04454e1e 70#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 71pub const XINPUT_CAPS_NO_NAVIGATION: u32 = 16u32;
04454e1e 72#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 73pub const XINPUT_CAPS_PMD_SUPPORTED: u32 = 8u32;
04454e1e 74#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 75pub const XINPUT_CAPS_VOICE_SUPPORTED: u32 = 4u32;
04454e1e 76#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 77pub const XINPUT_CAPS_WIRELESS: u32 = 2u32;
04454e1e 78#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 79pub const XINPUT_DEVSUBTYPE_ARCADE_PAD: u32 = 19u32;
04454e1e 80#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 81pub const XINPUT_DEVSUBTYPE_ARCADE_STICK: u32 = 3u32;
04454e1e 82#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 83pub const XINPUT_DEVSUBTYPE_DANCE_PAD: u32 = 5u32;
04454e1e 84#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 85pub const XINPUT_DEVSUBTYPE_DRUM_KIT: u32 = 8u32;
04454e1e 86#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 87pub const XINPUT_DEVSUBTYPE_FLIGHT_STICK: u32 = 4u32;
04454e1e 88#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 89pub const XINPUT_DEVSUBTYPE_GAMEPAD: u32 = 1u32;
04454e1e 90#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 91pub const XINPUT_DEVSUBTYPE_GUITAR: u32 = 6u32;
04454e1e 92#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 93pub const XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE: u32 = 7u32;
04454e1e 94#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 95pub const XINPUT_DEVSUBTYPE_GUITAR_BASS: u32 = 11u32;
04454e1e 96#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 97pub const XINPUT_DEVSUBTYPE_UNKNOWN: u32 = 0u32;
04454e1e 98#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 99pub const XINPUT_DEVSUBTYPE_WHEEL: u32 = 2u32;
04454e1e 100#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 101pub const XINPUT_DEVTYPE_GAMEPAD: u32 = 1u32;
04454e1e 102#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
923072b8 103pub const XINPUT_DLL: &str = "xinput1_4.dll";
04454e1e 104#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
923072b8 105pub const XINPUT_DLL_A: &str = "xinput1_4.dll";
04454e1e 106#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
923072b8 107pub const XINPUT_DLL_W: &str = "xinput1_4.dll";
04454e1e 108#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
109pub const XINPUT_FLAG_GAMEPAD: u32 = 1u32;
110#[repr(C)]
04454e1e 111#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
112pub struct XINPUT_GAMEPAD {
113 pub wButtons: u16,
114 pub bLeftTrigger: u8,
115 pub bRightTrigger: u8,
116 pub sThumbLX: i16,
117 pub sThumbLY: i16,
118 pub sThumbRX: i16,
119 pub sThumbRY: i16,
120}
121impl ::core::marker::Copy for XINPUT_GAMEPAD {}
122impl ::core::clone::Clone for XINPUT_GAMEPAD {
123 fn clone(&self) -> Self {
124 *self
125 }
126}
04454e1e 127#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 128pub const XINPUT_GAMEPAD_A: u32 = 4096u32;
04454e1e 129#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 130pub const XINPUT_GAMEPAD_B: u32 = 8192u32;
04454e1e 131#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 132pub const XINPUT_GAMEPAD_BACK: u32 = 32u32;
04454e1e 133#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 134pub const XINPUT_GAMEPAD_DPAD_DOWN: u32 = 2u32;
04454e1e 135#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 136pub const XINPUT_GAMEPAD_DPAD_LEFT: u32 = 4u32;
04454e1e 137#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 138pub const XINPUT_GAMEPAD_DPAD_RIGHT: u32 = 8u32;
04454e1e 139#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 140pub const XINPUT_GAMEPAD_DPAD_UP: u32 = 1u32;
04454e1e 141#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 142pub const XINPUT_GAMEPAD_LEFT_SHOULDER: u32 = 256u32;
04454e1e 143#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 144pub const XINPUT_GAMEPAD_LEFT_THUMB: u32 = 64u32;
04454e1e 145#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 146pub const XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE: u32 = 7849u32;
04454e1e 147#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 148pub const XINPUT_GAMEPAD_RIGHT_SHOULDER: u32 = 512u32;
04454e1e 149#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 150pub const XINPUT_GAMEPAD_RIGHT_THUMB: u32 = 128u32;
04454e1e 151#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 152pub const XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE: u32 = 8689u32;
04454e1e 153#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 154pub const XINPUT_GAMEPAD_START: u32 = 16u32;
04454e1e 155#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 156pub const XINPUT_GAMEPAD_TRIGGER_THRESHOLD: u32 = 30u32;
04454e1e 157#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 158pub const XINPUT_GAMEPAD_X: u32 = 16384u32;
04454e1e 159#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
160pub const XINPUT_GAMEPAD_Y: u32 = 32768u32;
161#[repr(C)]
04454e1e 162#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
163pub struct XINPUT_KEYSTROKE {
164 pub VirtualKey: XINPUT_VIRTUAL_KEY,
165 pub Unicode: u16,
166 pub Flags: u16,
167 pub UserIndex: u8,
168 pub HidCode: u8,
169}
170impl ::core::marker::Copy for XINPUT_KEYSTROKE {}
171impl ::core::clone::Clone for XINPUT_KEYSTROKE {
172 fn clone(&self) -> Self {
173 *self
174 }
175}
04454e1e 176#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 177pub const XINPUT_KEYSTROKE_KEYDOWN: u32 = 1u32;
04454e1e 178#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 179pub const XINPUT_KEYSTROKE_KEYUP: u32 = 2u32;
04454e1e 180#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
181pub const XINPUT_KEYSTROKE_REPEAT: u32 = 4u32;
182#[repr(C)]
04454e1e 183#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
184pub struct XINPUT_STATE {
185 pub dwPacketNumber: u32,
186 pub Gamepad: XINPUT_GAMEPAD,
187}
188impl ::core::marker::Copy for XINPUT_STATE {}
189impl ::core::clone::Clone for XINPUT_STATE {
190 fn clone(&self) -> Self {
191 *self
192 }
193}
194#[repr(C)]
04454e1e 195#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085
FG
196pub struct XINPUT_VIBRATION {
197 pub wLeftMotorSpeed: u16,
198 pub wRightMotorSpeed: u16,
199}
200impl ::core::marker::Copy for XINPUT_VIBRATION {}
201impl ::core::clone::Clone for XINPUT_VIBRATION {
202 fn clone(&self) -> Self {
203 *self
204 }
205}
04454e1e 206#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 207pub type XINPUT_VIRTUAL_KEY = u16;
04454e1e 208#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 209pub const VK_PAD_A: XINPUT_VIRTUAL_KEY = 22528u16;
04454e1e 210#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 211pub const VK_PAD_B: XINPUT_VIRTUAL_KEY = 22529u16;
04454e1e 212#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 213pub const VK_PAD_X: XINPUT_VIRTUAL_KEY = 22530u16;
04454e1e 214#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 215pub const VK_PAD_Y: XINPUT_VIRTUAL_KEY = 22531u16;
04454e1e 216#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 217pub const VK_PAD_RSHOULDER: XINPUT_VIRTUAL_KEY = 22532u16;
04454e1e 218#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 219pub const VK_PAD_LSHOULDER: XINPUT_VIRTUAL_KEY = 22533u16;
04454e1e 220#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 221pub const VK_PAD_LTRIGGER: XINPUT_VIRTUAL_KEY = 22534u16;
04454e1e 222#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 223pub const VK_PAD_RTRIGGER: XINPUT_VIRTUAL_KEY = 22535u16;
04454e1e 224#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 225pub const VK_PAD_DPAD_UP: XINPUT_VIRTUAL_KEY = 22544u16;
04454e1e 226#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 227pub const VK_PAD_DPAD_DOWN: XINPUT_VIRTUAL_KEY = 22545u16;
04454e1e 228#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 229pub const VK_PAD_DPAD_LEFT: XINPUT_VIRTUAL_KEY = 22546u16;
04454e1e 230#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 231pub const VK_PAD_DPAD_RIGHT: XINPUT_VIRTUAL_KEY = 22547u16;
04454e1e 232#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 233pub const VK_PAD_START: XINPUT_VIRTUAL_KEY = 22548u16;
04454e1e 234#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 235pub const VK_PAD_BACK: XINPUT_VIRTUAL_KEY = 22549u16;
04454e1e 236#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 237pub const VK_PAD_LTHUMB_PRESS: XINPUT_VIRTUAL_KEY = 22550u16;
04454e1e 238#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 239pub const VK_PAD_RTHUMB_PRESS: XINPUT_VIRTUAL_KEY = 22551u16;
04454e1e 240#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 241pub const VK_PAD_LTHUMB_UP: XINPUT_VIRTUAL_KEY = 22560u16;
04454e1e 242#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 243pub const VK_PAD_LTHUMB_DOWN: XINPUT_VIRTUAL_KEY = 22561u16;
04454e1e 244#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 245pub const VK_PAD_LTHUMB_RIGHT: XINPUT_VIRTUAL_KEY = 22562u16;
04454e1e 246#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 247pub const VK_PAD_LTHUMB_LEFT: XINPUT_VIRTUAL_KEY = 22563u16;
04454e1e 248#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 249pub const VK_PAD_LTHUMB_UPLEFT: XINPUT_VIRTUAL_KEY = 22564u16;
04454e1e 250#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 251pub const VK_PAD_LTHUMB_UPRIGHT: XINPUT_VIRTUAL_KEY = 22565u16;
04454e1e 252#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 253pub const VK_PAD_LTHUMB_DOWNRIGHT: XINPUT_VIRTUAL_KEY = 22566u16;
04454e1e 254#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 255pub const VK_PAD_LTHUMB_DOWNLEFT: XINPUT_VIRTUAL_KEY = 22567u16;
04454e1e 256#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 257pub const VK_PAD_RTHUMB_UP: XINPUT_VIRTUAL_KEY = 22576u16;
04454e1e 258#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 259pub const VK_PAD_RTHUMB_DOWN: XINPUT_VIRTUAL_KEY = 22577u16;
04454e1e 260#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 261pub const VK_PAD_RTHUMB_RIGHT: XINPUT_VIRTUAL_KEY = 22578u16;
04454e1e 262#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 263pub const VK_PAD_RTHUMB_LEFT: XINPUT_VIRTUAL_KEY = 22579u16;
04454e1e 264#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 265pub const VK_PAD_RTHUMB_UPLEFT: XINPUT_VIRTUAL_KEY = 22580u16;
04454e1e 266#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 267pub const VK_PAD_RTHUMB_UPRIGHT: XINPUT_VIRTUAL_KEY = 22581u16;
04454e1e 268#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 269pub const VK_PAD_RTHUMB_DOWNRIGHT: XINPUT_VIRTUAL_KEY = 22582u16;
04454e1e 270#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 271pub const VK_PAD_RTHUMB_DOWNLEFT: XINPUT_VIRTUAL_KEY = 22583u16;
04454e1e 272#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 273pub const XUSER_INDEX_ANY: u32 = 255u32;
04454e1e 274#[doc = "*Required features: `\"Win32_UI_Input_XboxController\"`*"]
5e7ed085 275pub const XUSER_MAX_COUNT: u32 = 4u32;