blob: e3d34e3d1022e056b7d96b07395f2dc4f581df0c [file] [log] [blame]
#[cfg(feature = "Gaming_Input_Custom")]
pub mod Custom;
#[cfg(feature = "Gaming_Input_ForceFeedback")]
pub mod ForceFeedback;
#[cfg(feature = "Gaming_Input_Preview")]
pub mod Preview;
pub type ArcadeStick = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct ArcadeStickButtons(pub u32);
impl ArcadeStickButtons {
pub const None: Self = Self(0u32);
pub const StickUp: Self = Self(1u32);
pub const StickDown: Self = Self(2u32);
pub const StickLeft: Self = Self(4u32);
pub const StickRight: Self = Self(8u32);
pub const Action1: Self = Self(16u32);
pub const Action2: Self = Self(32u32);
pub const Action3: Self = Self(64u32);
pub const Action4: Self = Self(128u32);
pub const Action5: Self = Self(256u32);
pub const Action6: Self = Self(512u32);
pub const Special1: Self = Self(1024u32);
pub const Special2: Self = Self(2048u32);
}
impl ::core::marker::Copy for ArcadeStickButtons {}
impl ::core::clone::Clone for ArcadeStickButtons {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Gaming_Input\"`*"]
pub struct ArcadeStickReading {
pub Timestamp: u64,
pub Buttons: ArcadeStickButtons,
}
impl ::core::marker::Copy for ArcadeStickReading {}
impl ::core::clone::Clone for ArcadeStickReading {
fn clone(&self) -> Self {
*self
}
}
pub type FlightStick = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct FlightStickButtons(pub u32);
impl FlightStickButtons {
pub const None: Self = Self(0u32);
pub const FirePrimary: Self = Self(1u32);
pub const FireSecondary: Self = Self(2u32);
}
impl ::core::marker::Copy for FlightStickButtons {}
impl ::core::clone::Clone for FlightStickButtons {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Gaming_Input\"`*"]
pub struct FlightStickReading {
pub Timestamp: u64,
pub Buttons: FlightStickButtons,
pub HatSwitch: GameControllerSwitchPosition,
pub Roll: f64,
pub Pitch: f64,
pub Yaw: f64,
pub Throttle: f64,
}
impl ::core::marker::Copy for FlightStickReading {}
impl ::core::clone::Clone for FlightStickReading {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct GameControllerButtonLabel(pub i32);
impl GameControllerButtonLabel {
pub const None: Self = Self(0i32);
pub const XboxBack: Self = Self(1i32);
pub const XboxStart: Self = Self(2i32);
pub const XboxMenu: Self = Self(3i32);
pub const XboxView: Self = Self(4i32);
pub const XboxUp: Self = Self(5i32);
pub const XboxDown: Self = Self(6i32);
pub const XboxLeft: Self = Self(7i32);
pub const XboxRight: Self = Self(8i32);
pub const XboxA: Self = Self(9i32);
pub const XboxB: Self = Self(10i32);
pub const XboxX: Self = Self(11i32);
pub const XboxY: Self = Self(12i32);
pub const XboxLeftBumper: Self = Self(13i32);
pub const XboxLeftTrigger: Self = Self(14i32);
pub const XboxLeftStickButton: Self = Self(15i32);
pub const XboxRightBumper: Self = Self(16i32);
pub const XboxRightTrigger: Self = Self(17i32);
pub const XboxRightStickButton: Self = Self(18i32);
pub const XboxPaddle1: Self = Self(19i32);
pub const XboxPaddle2: Self = Self(20i32);
pub const XboxPaddle3: Self = Self(21i32);
pub const XboxPaddle4: Self = Self(22i32);
pub const Mode: Self = Self(23i32);
pub const Select: Self = Self(24i32);
pub const Menu: Self = Self(25i32);
pub const View: Self = Self(26i32);
pub const Back: Self = Self(27i32);
pub const Start: Self = Self(28i32);
pub const Options: Self = Self(29i32);
pub const Share: Self = Self(30i32);
pub const Up: Self = Self(31i32);
pub const Down: Self = Self(32i32);
pub const Left: Self = Self(33i32);
pub const Right: Self = Self(34i32);
pub const LetterA: Self = Self(35i32);
pub const LetterB: Self = Self(36i32);
pub const LetterC: Self = Self(37i32);
pub const LetterL: Self = Self(38i32);
pub const LetterR: Self = Self(39i32);
pub const LetterX: Self = Self(40i32);
pub const LetterY: Self = Self(41i32);
pub const LetterZ: Self = Self(42i32);
pub const Cross: Self = Self(43i32);
pub const Circle: Self = Self(44i32);
pub const Square: Self = Self(45i32);
pub const Triangle: Self = Self(46i32);
pub const LeftBumper: Self = Self(47i32);
pub const LeftTrigger: Self = Self(48i32);
pub const LeftStickButton: Self = Self(49i32);
pub const Left1: Self = Self(50i32);
pub const Left2: Self = Self(51i32);
pub const Left3: Self = Self(52i32);
pub const RightBumper: Self = Self(53i32);
pub const RightTrigger: Self = Self(54i32);
pub const RightStickButton: Self = Self(55i32);
pub const Right1: Self = Self(56i32);
pub const Right2: Self = Self(57i32);
pub const Right3: Self = Self(58i32);
pub const Paddle1: Self = Self(59i32);
pub const Paddle2: Self = Self(60i32);
pub const Paddle3: Self = Self(61i32);
pub const Paddle4: Self = Self(62i32);
pub const Plus: Self = Self(63i32);
pub const Minus: Self = Self(64i32);
pub const DownLeftArrow: Self = Self(65i32);
pub const DialLeft: Self = Self(66i32);
pub const DialRight: Self = Self(67i32);
pub const Suspension: Self = Self(68i32);
}
impl ::core::marker::Copy for GameControllerButtonLabel {}
impl ::core::clone::Clone for GameControllerButtonLabel {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct GameControllerSwitchKind(pub i32);
impl GameControllerSwitchKind {
pub const TwoWay: Self = Self(0i32);
pub const FourWay: Self = Self(1i32);
pub const EightWay: Self = Self(2i32);
}
impl ::core::marker::Copy for GameControllerSwitchKind {}
impl ::core::clone::Clone for GameControllerSwitchKind {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct GameControllerSwitchPosition(pub i32);
impl GameControllerSwitchPosition {
pub const Center: Self = Self(0i32);
pub const Up: Self = Self(1i32);
pub const UpRight: Self = Self(2i32);
pub const Right: Self = Self(3i32);
pub const DownRight: Self = Self(4i32);
pub const Down: Self = Self(5i32);
pub const DownLeft: Self = Self(6i32);
pub const Left: Self = Self(7i32);
pub const UpLeft: Self = Self(8i32);
}
impl ::core::marker::Copy for GameControllerSwitchPosition {}
impl ::core::clone::Clone for GameControllerSwitchPosition {
fn clone(&self) -> Self {
*self
}
}
pub type Gamepad = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct GamepadButtons(pub u32);
impl GamepadButtons {
pub const None: Self = Self(0u32);
pub const Menu: Self = Self(1u32);
pub const View: Self = Self(2u32);
pub const A: Self = Self(4u32);
pub const B: Self = Self(8u32);
pub const X: Self = Self(16u32);
pub const Y: Self = Self(32u32);
pub const DPadUp: Self = Self(64u32);
pub const DPadDown: Self = Self(128u32);
pub const DPadLeft: Self = Self(256u32);
pub const DPadRight: Self = Self(512u32);
pub const LeftShoulder: Self = Self(1024u32);
pub const RightShoulder: Self = Self(2048u32);
pub const LeftThumbstick: Self = Self(4096u32);
pub const RightThumbstick: Self = Self(8192u32);
pub const Paddle1: Self = Self(16384u32);
pub const Paddle2: Self = Self(32768u32);
pub const Paddle3: Self = Self(65536u32);
pub const Paddle4: Self = Self(131072u32);
}
impl ::core::marker::Copy for GamepadButtons {}
impl ::core::clone::Clone for GamepadButtons {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Gaming_Input\"`*"]
pub struct GamepadReading {
pub Timestamp: u64,
pub Buttons: GamepadButtons,
pub LeftTrigger: f64,
pub RightTrigger: f64,
pub LeftThumbstickX: f64,
pub LeftThumbstickY: f64,
pub RightThumbstickX: f64,
pub RightThumbstickY: f64,
}
impl ::core::marker::Copy for GamepadReading {}
impl ::core::clone::Clone for GamepadReading {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Gaming_Input\"`*"]
pub struct GamepadVibration {
pub LeftMotor: f64,
pub RightMotor: f64,
pub LeftTrigger: f64,
pub RightTrigger: f64,
}
impl ::core::marker::Copy for GamepadVibration {}
impl ::core::clone::Clone for GamepadVibration {
fn clone(&self) -> Self {
*self
}
}
pub type Headset = *mut ::core::ffi::c_void;
pub type IGameController = *mut ::core::ffi::c_void;
pub type IGameControllerBatteryInfo = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct OptionalUINavigationButtons(pub u32);
impl OptionalUINavigationButtons {
pub const None: Self = Self(0u32);
pub const Context1: Self = Self(1u32);
pub const Context2: Self = Self(2u32);
pub const Context3: Self = Self(4u32);
pub const Context4: Self = Self(8u32);
pub const PageUp: Self = Self(16u32);
pub const PageDown: Self = Self(32u32);
pub const PageLeft: Self = Self(64u32);
pub const PageRight: Self = Self(128u32);
pub const ScrollUp: Self = Self(256u32);
pub const ScrollDown: Self = Self(512u32);
pub const ScrollLeft: Self = Self(1024u32);
pub const ScrollRight: Self = Self(2048u32);
}
impl ::core::marker::Copy for OptionalUINavigationButtons {}
impl ::core::clone::Clone for OptionalUINavigationButtons {
fn clone(&self) -> Self {
*self
}
}
pub type RacingWheel = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct RacingWheelButtons(pub u32);
impl RacingWheelButtons {
pub const None: Self = Self(0u32);
pub const PreviousGear: Self = Self(1u32);
pub const NextGear: Self = Self(2u32);
pub const DPadUp: Self = Self(4u32);
pub const DPadDown: Self = Self(8u32);
pub const DPadLeft: Self = Self(16u32);
pub const DPadRight: Self = Self(32u32);
pub const Button1: Self = Self(64u32);
pub const Button2: Self = Self(128u32);
pub const Button3: Self = Self(256u32);
pub const Button4: Self = Self(512u32);
pub const Button5: Self = Self(1024u32);
pub const Button6: Self = Self(2048u32);
pub const Button7: Self = Self(4096u32);
pub const Button8: Self = Self(8192u32);
pub const Button9: Self = Self(16384u32);
pub const Button10: Self = Self(32768u32);
pub const Button11: Self = Self(65536u32);
pub const Button12: Self = Self(131072u32);
pub const Button13: Self = Self(262144u32);
pub const Button14: Self = Self(524288u32);
pub const Button15: Self = Self(1048576u32);
pub const Button16: Self = Self(2097152u32);
}
impl ::core::marker::Copy for RacingWheelButtons {}
impl ::core::clone::Clone for RacingWheelButtons {
fn clone(&self) -> Self {
*self
}
}
#[repr(C)]
#[doc = "*Required features: `\"Gaming_Input\"`*"]
pub struct RacingWheelReading {
pub Timestamp: u64,
pub Buttons: RacingWheelButtons,
pub PatternShifterGear: i32,
pub Wheel: f64,
pub Throttle: f64,
pub Brake: f64,
pub Clutch: f64,
pub Handbrake: f64,
}
impl ::core::marker::Copy for RacingWheelReading {}
impl ::core::clone::Clone for RacingWheelReading {
fn clone(&self) -> Self {
*self
}
}
pub type RawGameController = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Gaming_Input\"`*"]
#[repr(transparent)]
pub struct RequiredUINavigationButtons(pub u32);
impl RequiredUINavigationButtons {
pub const None: Self = Self(0u32);
pub const Menu: Self = Self(1u32);
pub const View: Self = Self(2u32);
pub const Accept: Self = Self(4u32);
pub const Cancel: Self = Self(8u32);
pub const Up: Self = Self(16u32);
pub const Down: Self = Self(32u32);
pub const Left: Self = Self(64u32);
pub const Right: Self = Self(128u32);
}
impl ::core::marker::Copy for RequiredUINavigationButtons {}
impl ::core::clone::Clone for RequiredUINavigationButtons {
fn clone(&self) -> Self {
*self
}
}
pub type UINavigationController = *mut ::core::ffi::c_void;
#[repr(C)]
#[doc = "*Required features: `\"Gaming_Input\"`*"]
pub struct UINavigationReading {
pub Timestamp: u64,
pub RequiredButtons: RequiredUINavigationButtons,
pub OptionalButtons: OptionalUINavigationButtons,
}
impl ::core::marker::Copy for UINavigationReading {}
impl ::core::clone::Clone for UINavigationReading {
fn clone(&self) -> Self {
*self
}
}