]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys-0.28.0/src/Windows/Win32/UI/Input/mod.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / vendor / windows-sys-0.28.0 / src / Windows / Win32 / UI / Input / mod.rs
1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[cfg(feature = "Win32_UI_Input_Ime")]
3 pub mod Ime;
4 #[cfg(feature = "Win32_UI_Input_Ink")]
5 pub mod Ink;
6 #[cfg(feature = "Win32_UI_Input_KeyboardAndMouse")]
7 pub mod KeyboardAndMouse;
8 #[cfg(feature = "Win32_UI_Input_Pointer")]
9 pub mod Pointer;
10 #[cfg(feature = "Win32_UI_Input_Radial")]
11 pub mod Radial;
12 #[cfg(feature = "Win32_UI_Input_Touch")]
13 pub mod Touch;
14 #[cfg(feature = "Win32_UI_Input_XboxController")]
15 pub mod XboxController;
16 #[link(name = "windows")]
17 extern "system" {
18 #[cfg(feature = "Win32_Foundation")]
19 pub fn DefRawInputProc(parawinput: *const *const RAWINPUT, ninput: i32, cbsizeheader: u32) -> super::super::Foundation::LRESULT;
20 #[cfg(feature = "Win32_Foundation")]
21 pub fn GetCIMSSM(inputmessagesource: *mut INPUT_MESSAGE_SOURCE) -> super::super::Foundation::BOOL;
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn GetCurrentInputMessageSource(inputmessagesource: *mut INPUT_MESSAGE_SOURCE) -> super::super::Foundation::BOOL;
24 #[cfg(feature = "Win32_Foundation")]
25 pub fn GetRawInputBuffer(pdata: *mut RAWINPUT, pcbsize: *mut u32, cbsizeheader: u32) -> u32;
26 pub fn GetRawInputData(hrawinput: HRAWINPUT, uicommand: RAW_INPUT_DATA_COMMAND_FLAGS, pdata: *mut ::core::ffi::c_void, pcbsize: *mut u32, cbsizeheader: u32) -> u32;
27 #[cfg(feature = "Win32_Foundation")]
28 pub fn GetRawInputDeviceInfoA(hdevice: super::super::Foundation::HANDLE, uicommand: RAW_INPUT_DEVICE_INFO_COMMAND, pdata: *mut ::core::ffi::c_void, pcbsize: *mut u32) -> u32;
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn GetRawInputDeviceInfoW(hdevice: super::super::Foundation::HANDLE, uicommand: RAW_INPUT_DEVICE_INFO_COMMAND, pdata: *mut ::core::ffi::c_void, pcbsize: *mut u32) -> u32;
31 #[cfg(feature = "Win32_Foundation")]
32 pub fn GetRawInputDeviceList(prawinputdevicelist: *mut RAWINPUTDEVICELIST, puinumdevices: *mut u32, cbsize: u32) -> u32;
33 #[cfg(feature = "Win32_Foundation")]
34 pub fn GetRegisteredRawInputDevices(prawinputdevices: *mut RAWINPUTDEVICE, puinumdevices: *mut u32, cbsize: u32) -> u32;
35 #[cfg(feature = "Win32_Foundation")]
36 pub fn RegisterRawInputDevices(prawinputdevices: *const RAWINPUTDEVICE, uinumdevices: u32, cbsize: u32) -> super::super::Foundation::BOOL;
37 }
38 pub type HRAWINPUT = isize;
39 pub type INPUT_MESSAGE_DEVICE_TYPE = i32;
40 pub const IMDT_UNAVAILABLE: INPUT_MESSAGE_DEVICE_TYPE = 0i32;
41 pub const IMDT_KEYBOARD: INPUT_MESSAGE_DEVICE_TYPE = 1i32;
42 pub const IMDT_MOUSE: INPUT_MESSAGE_DEVICE_TYPE = 2i32;
43 pub const IMDT_TOUCH: INPUT_MESSAGE_DEVICE_TYPE = 4i32;
44 pub const IMDT_PEN: INPUT_MESSAGE_DEVICE_TYPE = 8i32;
45 pub const IMDT_TOUCHPAD: INPUT_MESSAGE_DEVICE_TYPE = 16i32;
46 pub type INPUT_MESSAGE_ORIGIN_ID = i32;
47 pub const IMO_UNAVAILABLE: INPUT_MESSAGE_ORIGIN_ID = 0i32;
48 pub const IMO_HARDWARE: INPUT_MESSAGE_ORIGIN_ID = 1i32;
49 pub const IMO_INJECTED: INPUT_MESSAGE_ORIGIN_ID = 2i32;
50 pub const IMO_SYSTEM: INPUT_MESSAGE_ORIGIN_ID = 4i32;
51 #[repr(C)]
52 pub struct INPUT_MESSAGE_SOURCE {
53 pub deviceType: INPUT_MESSAGE_DEVICE_TYPE,
54 pub originId: INPUT_MESSAGE_ORIGIN_ID,
55 }
56 impl ::core::marker::Copy for INPUT_MESSAGE_SOURCE {}
57 impl ::core::clone::Clone for INPUT_MESSAGE_SOURCE {
58 fn clone(&self) -> Self {
59 *self
60 }
61 }
62 #[repr(C)]
63 pub struct RAWHID {
64 pub dwSizeHid: u32,
65 pub dwCount: u32,
66 pub bRawData: [u8; 1],
67 }
68 impl ::core::marker::Copy for RAWHID {}
69 impl ::core::clone::Clone for RAWHID {
70 fn clone(&self) -> Self {
71 *self
72 }
73 }
74 #[repr(C)]
75 #[cfg(feature = "Win32_Foundation")]
76 pub struct RAWINPUT {
77 pub header: RAWINPUTHEADER,
78 pub data: RAWINPUT_0,
79 }
80 #[cfg(feature = "Win32_Foundation")]
81 impl ::core::marker::Copy for RAWINPUT {}
82 #[cfg(feature = "Win32_Foundation")]
83 impl ::core::clone::Clone for RAWINPUT {
84 fn clone(&self) -> Self {
85 *self
86 }
87 }
88 #[repr(C)]
89 #[cfg(feature = "Win32_Foundation")]
90 pub union RAWINPUT_0 {
91 pub mouse: RAWMOUSE,
92 pub keyboard: RAWKEYBOARD,
93 pub hid: RAWHID,
94 }
95 #[cfg(feature = "Win32_Foundation")]
96 impl ::core::marker::Copy for RAWINPUT_0 {}
97 #[cfg(feature = "Win32_Foundation")]
98 impl ::core::clone::Clone for RAWINPUT_0 {
99 fn clone(&self) -> Self {
100 *self
101 }
102 }
103 #[repr(C)]
104 #[cfg(feature = "Win32_Foundation")]
105 pub struct RAWINPUTDEVICE {
106 pub usUsagePage: u16,
107 pub usUsage: u16,
108 pub dwFlags: RAWINPUTDEVICE_FLAGS,
109 pub hwndTarget: super::super::Foundation::HWND,
110 }
111 #[cfg(feature = "Win32_Foundation")]
112 impl ::core::marker::Copy for RAWINPUTDEVICE {}
113 #[cfg(feature = "Win32_Foundation")]
114 impl ::core::clone::Clone for RAWINPUTDEVICE {
115 fn clone(&self) -> Self {
116 *self
117 }
118 }
119 #[repr(C)]
120 #[cfg(feature = "Win32_Foundation")]
121 pub struct RAWINPUTDEVICELIST {
122 pub hDevice: super::super::Foundation::HANDLE,
123 pub dwType: RID_DEVICE_INFO_TYPE,
124 }
125 #[cfg(feature = "Win32_Foundation")]
126 impl ::core::marker::Copy for RAWINPUTDEVICELIST {}
127 #[cfg(feature = "Win32_Foundation")]
128 impl ::core::clone::Clone for RAWINPUTDEVICELIST {
129 fn clone(&self) -> Self {
130 *self
131 }
132 }
133 pub type RAWINPUTDEVICE_FLAGS = u32;
134 pub const RIDEV_REMOVE: RAWINPUTDEVICE_FLAGS = 1u32;
135 pub const RIDEV_EXCLUDE: RAWINPUTDEVICE_FLAGS = 16u32;
136 pub const RIDEV_PAGEONLY: RAWINPUTDEVICE_FLAGS = 32u32;
137 pub const RIDEV_NOLEGACY: RAWINPUTDEVICE_FLAGS = 48u32;
138 pub const RIDEV_INPUTSINK: RAWINPUTDEVICE_FLAGS = 256u32;
139 pub const RIDEV_CAPTUREMOUSE: RAWINPUTDEVICE_FLAGS = 512u32;
140 pub const RIDEV_NOHOTKEYS: RAWINPUTDEVICE_FLAGS = 512u32;
141 pub const RIDEV_APPKEYS: RAWINPUTDEVICE_FLAGS = 1024u32;
142 pub const RIDEV_EXINPUTSINK: RAWINPUTDEVICE_FLAGS = 4096u32;
143 pub const RIDEV_DEVNOTIFY: RAWINPUTDEVICE_FLAGS = 8192u32;
144 #[repr(C)]
145 #[cfg(feature = "Win32_Foundation")]
146 pub struct RAWINPUTHEADER {
147 pub dwType: u32,
148 pub dwSize: u32,
149 pub hDevice: super::super::Foundation::HANDLE,
150 pub wParam: super::super::Foundation::WPARAM,
151 }
152 #[cfg(feature = "Win32_Foundation")]
153 impl ::core::marker::Copy for RAWINPUTHEADER {}
154 #[cfg(feature = "Win32_Foundation")]
155 impl ::core::clone::Clone for RAWINPUTHEADER {
156 fn clone(&self) -> Self {
157 *self
158 }
159 }
160 #[repr(C)]
161 pub struct RAWKEYBOARD {
162 pub MakeCode: u16,
163 pub Flags: u16,
164 pub Reserved: u16,
165 pub VKey: u16,
166 pub Message: u32,
167 pub ExtraInformation: u32,
168 }
169 impl ::core::marker::Copy for RAWKEYBOARD {}
170 impl ::core::clone::Clone for RAWKEYBOARD {
171 fn clone(&self) -> Self {
172 *self
173 }
174 }
175 #[repr(C)]
176 pub struct RAWMOUSE {
177 pub usFlags: u16,
178 pub Anonymous: RAWMOUSE_0,
179 pub ulRawButtons: u32,
180 pub lLastX: i32,
181 pub lLastY: i32,
182 pub ulExtraInformation: u32,
183 }
184 impl ::core::marker::Copy for RAWMOUSE {}
185 impl ::core::clone::Clone for RAWMOUSE {
186 fn clone(&self) -> Self {
187 *self
188 }
189 }
190 #[repr(C)]
191 pub union RAWMOUSE_0 {
192 pub ulButtons: u32,
193 pub Anonymous: RAWMOUSE_0_0,
194 }
195 impl ::core::marker::Copy for RAWMOUSE_0 {}
196 impl ::core::clone::Clone for RAWMOUSE_0 {
197 fn clone(&self) -> Self {
198 *self
199 }
200 }
201 #[repr(C)]
202 pub struct RAWMOUSE_0_0 {
203 pub usButtonFlags: u16,
204 pub usButtonData: u16,
205 }
206 impl ::core::marker::Copy for RAWMOUSE_0_0 {}
207 impl ::core::clone::Clone for RAWMOUSE_0_0 {
208 fn clone(&self) -> Self {
209 *self
210 }
211 }
212 pub type RAW_INPUT_DATA_COMMAND_FLAGS = u32;
213 pub const RID_HEADER: RAW_INPUT_DATA_COMMAND_FLAGS = 268435461u32;
214 pub const RID_INPUT: RAW_INPUT_DATA_COMMAND_FLAGS = 268435459u32;
215 pub type RAW_INPUT_DEVICE_INFO_COMMAND = u32;
216 pub const RIDI_PREPARSEDDATA: RAW_INPUT_DEVICE_INFO_COMMAND = 536870917u32;
217 pub const RIDI_DEVICENAME: RAW_INPUT_DEVICE_INFO_COMMAND = 536870919u32;
218 pub const RIDI_DEVICEINFO: RAW_INPUT_DEVICE_INFO_COMMAND = 536870923u32;
219 #[repr(C)]
220 #[cfg(feature = "Win32_Foundation")]
221 pub struct RID_DEVICE_INFO {
222 pub cbSize: u32,
223 pub dwType: RID_DEVICE_INFO_TYPE,
224 pub Anonymous: RID_DEVICE_INFO_0,
225 }
226 #[cfg(feature = "Win32_Foundation")]
227 impl ::core::marker::Copy for RID_DEVICE_INFO {}
228 #[cfg(feature = "Win32_Foundation")]
229 impl ::core::clone::Clone for RID_DEVICE_INFO {
230 fn clone(&self) -> Self {
231 *self
232 }
233 }
234 #[repr(C)]
235 #[cfg(feature = "Win32_Foundation")]
236 pub union RID_DEVICE_INFO_0 {
237 pub mouse: RID_DEVICE_INFO_MOUSE,
238 pub keyboard: RID_DEVICE_INFO_KEYBOARD,
239 pub hid: RID_DEVICE_INFO_HID,
240 }
241 #[cfg(feature = "Win32_Foundation")]
242 impl ::core::marker::Copy for RID_DEVICE_INFO_0 {}
243 #[cfg(feature = "Win32_Foundation")]
244 impl ::core::clone::Clone for RID_DEVICE_INFO_0 {
245 fn clone(&self) -> Self {
246 *self
247 }
248 }
249 #[repr(C)]
250 pub struct RID_DEVICE_INFO_HID {
251 pub dwVendorId: u32,
252 pub dwProductId: u32,
253 pub dwVersionNumber: u32,
254 pub usUsagePage: u16,
255 pub usUsage: u16,
256 }
257 impl ::core::marker::Copy for RID_DEVICE_INFO_HID {}
258 impl ::core::clone::Clone for RID_DEVICE_INFO_HID {
259 fn clone(&self) -> Self {
260 *self
261 }
262 }
263 #[repr(C)]
264 pub struct RID_DEVICE_INFO_KEYBOARD {
265 pub dwType: u32,
266 pub dwSubType: u32,
267 pub dwKeyboardMode: u32,
268 pub dwNumberOfFunctionKeys: u32,
269 pub dwNumberOfIndicators: u32,
270 pub dwNumberOfKeysTotal: u32,
271 }
272 impl ::core::marker::Copy for RID_DEVICE_INFO_KEYBOARD {}
273 impl ::core::clone::Clone for RID_DEVICE_INFO_KEYBOARD {
274 fn clone(&self) -> Self {
275 *self
276 }
277 }
278 #[repr(C)]
279 #[cfg(feature = "Win32_Foundation")]
280 pub struct RID_DEVICE_INFO_MOUSE {
281 pub dwId: u32,
282 pub dwNumberOfButtons: u32,
283 pub dwSampleRate: u32,
284 pub fHasHorizontalWheel: super::super::Foundation::BOOL,
285 }
286 #[cfg(feature = "Win32_Foundation")]
287 impl ::core::marker::Copy for RID_DEVICE_INFO_MOUSE {}
288 #[cfg(feature = "Win32_Foundation")]
289 impl ::core::clone::Clone for RID_DEVICE_INFO_MOUSE {
290 fn clone(&self) -> Self {
291 *self
292 }
293 }
294 pub type RID_DEVICE_INFO_TYPE = u32;
295 pub const RIM_TYPEMOUSE: RID_DEVICE_INFO_TYPE = 0u32;
296 pub const RIM_TYPEKEYBOARD: RID_DEVICE_INFO_TYPE = 1u32;
297 pub const RIM_TYPEHID: RID_DEVICE_INFO_TYPE = 2u32;