blob: 30ef34d68ef1333e79ac392b1c49d390cd8d31ae [file] [log] [blame]
#[cfg(feature = "Win32_UI_Input_Ime")]
pub mod Ime;
#[cfg(feature = "Win32_UI_Input_Ink")]
pub mod Ink;
#[cfg(feature = "Win32_UI_Input_KeyboardAndMouse")]
pub mod KeyboardAndMouse;
#[cfg(feature = "Win32_UI_Input_Pointer")]
pub mod Pointer;
#[cfg(feature = "Win32_UI_Input_Radial")]
pub mod Radial;
#[cfg(feature = "Win32_UI_Input_Touch")]
pub mod Touch;
#[cfg(feature = "Win32_UI_Input_XboxController")]
pub mod XboxController;
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn DefRawInputProc ( parawinput : *const *const RAWINPUT , ninput : i32 , cbsizeheader : u32 ) -> super::super::Foundation:: LRESULT );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetCIMSSM ( inputmessagesource : *mut INPUT_MESSAGE_SOURCE ) -> super::super::Foundation:: BOOL );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetCurrentInputMessageSource ( inputmessagesource : *mut INPUT_MESSAGE_SOURCE ) -> super::super::Foundation:: BOOL );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetRawInputBuffer ( pdata : *mut RAWINPUT , pcbsize : *mut u32 , cbsizeheader : u32 ) -> u32 );
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`*"] fn GetRawInputData ( hrawinput : HRAWINPUT , uicommand : RAW_INPUT_DATA_COMMAND_FLAGS , pdata : *mut ::core::ffi::c_void , pcbsize : *mut u32 , cbsizeheader : u32 ) -> u32 );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetRawInputDeviceInfoA ( hdevice : super::super::Foundation:: HANDLE , uicommand : RAW_INPUT_DEVICE_INFO_COMMAND , pdata : *mut ::core::ffi::c_void , pcbsize : *mut u32 ) -> u32 );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetRawInputDeviceInfoW ( hdevice : super::super::Foundation:: HANDLE , uicommand : RAW_INPUT_DEVICE_INFO_COMMAND , pdata : *mut ::core::ffi::c_void , pcbsize : *mut u32 ) -> u32 );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetRawInputDeviceList ( prawinputdevicelist : *mut RAWINPUTDEVICELIST , puinumdevices : *mut u32 , cbsize : u32 ) -> u32 );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn GetRegisteredRawInputDevices ( prawinputdevices : *mut RAWINPUTDEVICE , puinumdevices : *mut u32 , cbsize : u32 ) -> u32 );
#[cfg(feature = "Win32_Foundation")]
::windows_sys::core::link ! ( "user32.dll""system" #[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"] fn RegisterRawInputDevices ( prawinputdevices : *const RAWINPUTDEVICE , uinumdevices : u32 , cbsize : u32 ) -> super::super::Foundation:: BOOL );
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub type INPUT_MESSAGE_DEVICE_TYPE = i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMDT_UNAVAILABLE: INPUT_MESSAGE_DEVICE_TYPE = 0i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMDT_KEYBOARD: INPUT_MESSAGE_DEVICE_TYPE = 1i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMDT_MOUSE: INPUT_MESSAGE_DEVICE_TYPE = 2i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMDT_TOUCH: INPUT_MESSAGE_DEVICE_TYPE = 4i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMDT_PEN: INPUT_MESSAGE_DEVICE_TYPE = 8i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMDT_TOUCHPAD: INPUT_MESSAGE_DEVICE_TYPE = 16i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub type INPUT_MESSAGE_ORIGIN_ID = i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMO_UNAVAILABLE: INPUT_MESSAGE_ORIGIN_ID = 0i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMO_HARDWARE: INPUT_MESSAGE_ORIGIN_ID = 1i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMO_INJECTED: INPUT_MESSAGE_ORIGIN_ID = 2i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const IMO_SYSTEM: INPUT_MESSAGE_ORIGIN_ID = 4i32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub type RAWINPUTDEVICE_FLAGS = u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_REMOVE: RAWINPUTDEVICE_FLAGS = 1u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_EXCLUDE: RAWINPUTDEVICE_FLAGS = 16u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_PAGEONLY: RAWINPUTDEVICE_FLAGS = 32u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_NOLEGACY: RAWINPUTDEVICE_FLAGS = 48u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_INPUTSINK: RAWINPUTDEVICE_FLAGS = 256u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_CAPTUREMOUSE: RAWINPUTDEVICE_FLAGS = 512u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_NOHOTKEYS: RAWINPUTDEVICE_FLAGS = 512u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_APPKEYS: RAWINPUTDEVICE_FLAGS = 1024u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_EXINPUTSINK: RAWINPUTDEVICE_FLAGS = 4096u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDEV_DEVNOTIFY: RAWINPUTDEVICE_FLAGS = 8192u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub type RAW_INPUT_DATA_COMMAND_FLAGS = u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RID_HEADER: RAW_INPUT_DATA_COMMAND_FLAGS = 268435461u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RID_INPUT: RAW_INPUT_DATA_COMMAND_FLAGS = 268435459u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub type RAW_INPUT_DEVICE_INFO_COMMAND = u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDI_PREPARSEDDATA: RAW_INPUT_DEVICE_INFO_COMMAND = 536870917u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDI_DEVICENAME: RAW_INPUT_DEVICE_INFO_COMMAND = 536870919u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIDI_DEVICEINFO: RAW_INPUT_DEVICE_INFO_COMMAND = 536870923u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub type RID_DEVICE_INFO_TYPE = u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIM_TYPEMOUSE: RID_DEVICE_INFO_TYPE = 0u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIM_TYPEKEYBOARD: RID_DEVICE_INFO_TYPE = 1u32;
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub const RIM_TYPEHID: RID_DEVICE_INFO_TYPE = 2u32;
pub type HRAWINPUT = isize;
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct INPUT_MESSAGE_SOURCE {
pub deviceType: INPUT_MESSAGE_DEVICE_TYPE,
pub originId: INPUT_MESSAGE_ORIGIN_ID,
}
impl ::core::marker::Copy for INPUT_MESSAGE_SOURCE {}
impl ::core::clone::Clone for INPUT_MESSAGE_SOURCE {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct RAWHID {
pub dwSizeHid: u32,
pub dwCount: u32,
pub bRawData: [u8; 1],
}
impl ::core::marker::Copy for RAWHID {}
impl ::core::clone::Clone for RAWHID {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct RAWINPUT {
pub header: RAWINPUTHEADER,
pub data: RAWINPUT_0,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RAWINPUT {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RAWINPUT {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub union RAWINPUT_0 {
pub mouse: RAWMOUSE,
pub keyboard: RAWKEYBOARD,
pub hid: RAWHID,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RAWINPUT_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RAWINPUT_0 {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct RAWINPUTDEVICE {
pub usUsagePage: u16,
pub usUsage: u16,
pub dwFlags: RAWINPUTDEVICE_FLAGS,
pub hwndTarget: super::super::Foundation::HWND,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RAWINPUTDEVICE {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RAWINPUTDEVICE {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct RAWINPUTDEVICELIST {
pub hDevice: super::super::Foundation::HANDLE,
pub dwType: RID_DEVICE_INFO_TYPE,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RAWINPUTDEVICELIST {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RAWINPUTDEVICELIST {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct RAWINPUTHEADER {
pub dwType: u32,
pub dwSize: u32,
pub hDevice: super::super::Foundation::HANDLE,
pub wParam: super::super::Foundation::WPARAM,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RAWINPUTHEADER {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RAWINPUTHEADER {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct RAWKEYBOARD {
pub MakeCode: u16,
pub Flags: u16,
pub Reserved: u16,
pub VKey: u16,
pub Message: u32,
pub ExtraInformation: u32,
}
impl ::core::marker::Copy for RAWKEYBOARD {}
impl ::core::clone::Clone for RAWKEYBOARD {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct RAWMOUSE {
pub usFlags: u16,
pub Anonymous: RAWMOUSE_0,
pub ulRawButtons: u32,
pub lLastX: i32,
pub lLastY: i32,
pub ulExtraInformation: u32,
}
impl ::core::marker::Copy for RAWMOUSE {}
impl ::core::clone::Clone for RAWMOUSE {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub union RAWMOUSE_0 {
pub ulButtons: u32,
pub Anonymous: RAWMOUSE_0_0,
}
impl ::core::marker::Copy for RAWMOUSE_0 {}
impl ::core::clone::Clone for RAWMOUSE_0 {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct RAWMOUSE_0_0 {
pub usButtonFlags: u16,
pub usButtonData: u16,
}
impl ::core::marker::Copy for RAWMOUSE_0_0 {}
impl ::core::clone::Clone for RAWMOUSE_0_0 {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct RID_DEVICE_INFO {
pub cbSize: u32,
pub dwType: RID_DEVICE_INFO_TYPE,
pub Anonymous: RID_DEVICE_INFO_0,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RID_DEVICE_INFO {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RID_DEVICE_INFO {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub union RID_DEVICE_INFO_0 {
pub mouse: RID_DEVICE_INFO_MOUSE,
pub keyboard: RID_DEVICE_INFO_KEYBOARD,
pub hid: RID_DEVICE_INFO_HID,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RID_DEVICE_INFO_0 {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RID_DEVICE_INFO_0 {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct RID_DEVICE_INFO_HID {
pub dwVendorId: u32,
pub dwProductId: u32,
pub dwVersionNumber: u32,
pub usUsagePage: u16,
pub usUsage: u16,
}
impl ::core::marker::Copy for RID_DEVICE_INFO_HID {}
impl ::core::clone::Clone for RID_DEVICE_INFO_HID {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`*"]
pub struct RID_DEVICE_INFO_KEYBOARD {
pub dwType: u32,
pub dwSubType: u32,
pub dwKeyboardMode: u32,
pub dwNumberOfFunctionKeys: u32,
pub dwNumberOfIndicators: u32,
pub dwNumberOfKeysTotal: u32,
}
impl ::core::marker::Copy for RID_DEVICE_INFO_KEYBOARD {}
impl ::core::clone::Clone for RID_DEVICE_INFO_KEYBOARD {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_UI_Input\"`, `\"Win32_Foundation\"`*"]
#[cfg(feature = "Win32_Foundation")]
pub struct RID_DEVICE_INFO_MOUSE {
pub dwId: u32,
pub dwNumberOfButtons: u32,
pub dwSampleRate: u32,
pub fHasHorizontalWheel: super::super::Foundation::BOOL,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for RID_DEVICE_INFO_MOUSE {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for RID_DEVICE_INFO_MOUSE {
fn clone(&self) -> Self {
*self
}
}