// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Gaming_Input_0_H #define WINRT_Windows_Gaming_Input_0_H WINRT_EXPORT namespace winrt::Windows::Devices::Power { struct BatteryReport; } WINRT_EXPORT namespace winrt::Windows::Foundation { template struct WINRT_IMPL_EMPTY_BASES EventHandler; struct EventRegistrationToken; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::Gaming::Input::ForceFeedback { struct ForceFeedbackMotor; } WINRT_EXPORT namespace winrt::Windows::System { struct User; struct UserChangedEventArgs; } WINRT_EXPORT namespace winrt::Windows::Gaming::Input { enum class ArcadeStickButtons : uint32_t { None = 0, StickUp = 0x1, StickDown = 0x2, StickLeft = 0x4, StickRight = 0x8, Action1 = 0x10, Action2 = 0x20, Action3 = 0x40, Action4 = 0x80, Action5 = 0x100, Action6 = 0x200, Special1 = 0x400, Special2 = 0x800, }; enum class FlightStickButtons : uint32_t { None = 0, FirePrimary = 0x1, FireSecondary = 0x2, }; enum class GameControllerButtonLabel : int32_t { None = 0, XboxBack = 1, XboxStart = 2, XboxMenu = 3, XboxView = 4, XboxUp = 5, XboxDown = 6, XboxLeft = 7, XboxRight = 8, XboxA = 9, XboxB = 10, XboxX = 11, XboxY = 12, XboxLeftBumper = 13, XboxLeftTrigger = 14, XboxLeftStickButton = 15, XboxRightBumper = 16, XboxRightTrigger = 17, XboxRightStickButton = 18, XboxPaddle1 = 19, XboxPaddle2 = 20, XboxPaddle3 = 21, XboxPaddle4 = 22, Mode = 23, Select = 24, Menu = 25, View = 26, Back = 27, Start = 28, Options = 29, Share = 30, Up = 31, Down = 32, Left = 33, Right = 34, LetterA = 35, LetterB = 36, LetterC = 37, LetterL = 38, LetterR = 39, LetterX = 40, LetterY = 41, LetterZ = 42, Cross = 43, Circle = 44, Square = 45, Triangle = 46, LeftBumper = 47, LeftTrigger = 48, LeftStickButton = 49, Left1 = 50, Left2 = 51, Left3 = 52, RightBumper = 53, RightTrigger = 54, RightStickButton = 55, Right1 = 56, Right2 = 57, Right3 = 58, Paddle1 = 59, Paddle2 = 60, Paddle3 = 61, Paddle4 = 62, Plus = 63, Minus = 64, DownLeftArrow = 65, DialLeft = 66, DialRight = 67, Suspension = 68, }; enum class GameControllerSwitchKind : int32_t { TwoWay = 0, FourWay = 1, EightWay = 2, }; enum class GameControllerSwitchPosition : int32_t { Center = 0, Up = 1, UpRight = 2, Right = 3, DownRight = 4, Down = 5, DownLeft = 6, Left = 7, UpLeft = 8, }; enum class GamepadButtons : uint32_t { None = 0, Menu = 0x1, View = 0x2, A = 0x4, B = 0x8, X = 0x10, Y = 0x20, DPadUp = 0x40, DPadDown = 0x80, DPadLeft = 0x100, DPadRight = 0x200, LeftShoulder = 0x400, RightShoulder = 0x800, LeftThumbstick = 0x1000, RightThumbstick = 0x2000, Paddle1 = 0x4000, Paddle2 = 0x8000, Paddle3 = 0x10000, Paddle4 = 0x20000, }; enum class OptionalUINavigationButtons : uint32_t { None = 0, Context1 = 0x1, Context2 = 0x2, Context3 = 0x4, Context4 = 0x8, PageUp = 0x10, PageDown = 0x20, PageLeft = 0x40, PageRight = 0x80, ScrollUp = 0x100, ScrollDown = 0x200, ScrollLeft = 0x400, ScrollRight = 0x800, }; enum class RacingWheelButtons : uint32_t { None = 0, PreviousGear = 0x1, NextGear = 0x2, DPadUp = 0x4, DPadDown = 0x8, DPadLeft = 0x10, DPadRight = 0x20, Button1 = 0x40, Button2 = 0x80, Button3 = 0x100, Button4 = 0x200, Button5 = 0x400, Button6 = 0x800, Button7 = 0x1000, Button8 = 0x2000, Button9 = 0x4000, Button10 = 0x8000, Button11 = 0x10000, Button12 = 0x20000, Button13 = 0x40000, Button14 = 0x80000, Button15 = 0x100000, Button16 = 0x200000, }; enum class RequiredUINavigationButtons : uint32_t { None = 0, Menu = 0x1, View = 0x2, Accept = 0x4, Cancel = 0x8, Up = 0x10, Down = 0x20, Left = 0x40, Right = 0x80, }; struct IArcadeStick; struct IArcadeStickStatics; struct IArcadeStickStatics2; struct IFlightStick; struct IFlightStickStatics; struct IGameController; struct IGameControllerBatteryInfo; struct IGamepad; struct IGamepad2; struct IGamepadStatics; struct IGamepadStatics2; struct IHeadset; struct IRacingWheel; struct IRacingWheelStatics; struct IRacingWheelStatics2; struct IRawGameController; struct IRawGameController2; struct IRawGameControllerStatics; struct IUINavigationController; struct IUINavigationControllerStatics; struct IUINavigationControllerStatics2; struct ArcadeStick; struct FlightStick; struct Gamepad; struct Headset; struct RacingWheel; struct RawGameController; struct UINavigationController; struct ArcadeStickReading; struct FlightStickReading; struct GamepadReading; struct GamepadVibration; struct RacingWheelReading; struct UINavigationReading; struct GamingInputPreviewContract; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> struct category{ using type = struct_category; }; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.ArcadeStick"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.FlightStick"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.Gamepad"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.Headset"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.RacingWheel"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.RawGameController"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.UINavigationController"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.ArcadeStickButtons"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.FlightStickButtons"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GameControllerButtonLabel"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GameControllerSwitchKind"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GameControllerSwitchPosition"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GamepadButtons"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.OptionalUINavigationButtons"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.RacingWheelButtons"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.RequiredUINavigationButtons"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.ArcadeStickReading"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.FlightStickReading"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GamepadReading"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GamepadVibration"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.RacingWheelReading"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.UINavigationReading"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IArcadeStick"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IArcadeStickStatics"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IArcadeStickStatics2"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IFlightStick"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IFlightStickStatics"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IGameController"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IGameControllerBatteryInfo"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IGamepad"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IGamepad2"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IGamepadStatics"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IGamepadStatics2"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IHeadset"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IRacingWheel"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IRacingWheelStatics"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IRacingWheelStatics2"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IRawGameController"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IRawGameController2"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IRawGameControllerStatics"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IUINavigationController"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IUINavigationControllerStatics"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.IUINavigationControllerStatics2"; template <> inline constexpr auto& name_v = L"Windows.Gaming.Input.GamingInputPreviewContract"; template <> inline constexpr guid guid_v{ 0xB14A539D,0xBEFB,0x4C81,{ 0x80,0x51,0x15,0xEC,0xF3,0xB1,0x30,0x36 } }; // B14A539D-BEFB-4C81-8051-15ECF3B13036 template <> inline constexpr guid guid_v{ 0x5C37B8C8,0x37B1,0x4AD8,{ 0x94,0x58,0x20,0x0F,0x1A,0x30,0x01,0x8E } }; // 5C37B8C8-37B1-4AD8-9458-200F1A30018E template <> inline constexpr guid guid_v{ 0x52B5D744,0xBB86,0x445A,{ 0xB5,0x9C,0x59,0x6F,0x0E,0x2A,0x49,0xDF } }; // 52B5D744-BB86-445A-B59C-596F0E2A49DF template <> inline constexpr guid guid_v{ 0xB4A2C01C,0xB83B,0x4459,{ 0xA1,0xA9,0x97,0xB0,0x3C,0x33,0xDA,0x7C } }; // B4A2C01C-B83B-4459-A1A9-97B03C33DA7C template <> inline constexpr guid guid_v{ 0x5514924A,0xFECC,0x435E,{ 0x83,0xDC,0x5C,0xEC,0x8A,0x18,0xA5,0x20 } }; // 5514924A-FECC-435E-83DC-5CEC8A18A520 template <> inline constexpr guid guid_v{ 0x1BAF6522,0x5F64,0x42C5,{ 0x82,0x67,0xB9,0xFE,0x22,0x15,0xBF,0xBD } }; // 1BAF6522-5F64-42C5-8267-B9FE2215BFBD template <> inline constexpr guid guid_v{ 0xDCECC681,0x3963,0x4DA6,{ 0x95,0x5D,0x55,0x3F,0x3B,0x6F,0x61,0x61 } }; // DCECC681-3963-4DA6-955D-553F3B6F6161 template <> inline constexpr guid guid_v{ 0xBC7BB43C,0x0A69,0x3903,{ 0x9E,0x9D,0xA5,0x0F,0x86,0xA4,0x5D,0xE5 } }; // BC7BB43C-0A69-3903-9E9D-A50F86A45DE5 template <> inline constexpr guid guid_v{ 0x3C1689BD,0x5915,0x4245,{ 0xB0,0xC0,0xC8,0x9F,0xAE,0x03,0x08,0xFF } }; // 3C1689BD-5915-4245-B0C0-C89FAE0308FF template <> inline constexpr guid guid_v{ 0x8BBCE529,0xD49C,0x39E9,{ 0x95,0x60,0xE4,0x7D,0xDE,0x96,0xB7,0xC8 } }; // 8BBCE529-D49C-39E9-9560-E47DDE96B7C8 template <> inline constexpr guid guid_v{ 0x42676DC5,0x0856,0x47C4,{ 0x92,0x13,0xB3,0x95,0x50,0x4C,0x3A,0x3C } }; // 42676DC5-0856-47C4-9213-B395504C3A3C template <> inline constexpr guid guid_v{ 0x3FD156EF,0x6925,0x3FA8,{ 0x91,0x81,0x02,0x9C,0x52,0x23,0xAE,0x3B } }; // 3FD156EF-6925-3FA8-9181-029C5223AE3B template <> inline constexpr guid guid_v{ 0xF546656F,0xE106,0x4C82,{ 0xA9,0x0F,0x55,0x40,0x12,0x90,0x4B,0x85 } }; // F546656F-E106-4C82-A90F-554012904B85 template <> inline constexpr guid guid_v{ 0x3AC12CD5,0x581B,0x4936,{ 0x9F,0x94,0x69,0xF1,0xE6,0x51,0x4C,0x7D } }; // 3AC12CD5-581B-4936-9F94-69F1E6514C7D template <> inline constexpr guid guid_v{ 0xE666BCAA,0xEDFD,0x4323,{ 0xA9,0xF6,0x3C,0x38,0x40,0x48,0xD1,0xED } }; // E666BCAA-EDFD-4323-A9F6-3C384048D1ED template <> inline constexpr guid guid_v{ 0x7CAD6D91,0xA7E1,0x4F71,{ 0x9A,0x78,0x33,0xE9,0xC5,0xDF,0xEA,0x62 } }; // 7CAD6D91-A7E1-4F71-9A78-33E9C5DFEA62 template <> inline constexpr guid guid_v{ 0x43C0C035,0xBB73,0x4756,{ 0xA7,0x87,0x3E,0xD6,0xBE,0xA6,0x17,0xBD } }; // 43C0C035-BB73-4756-A787-3ED6BEA617BD template <> inline constexpr guid guid_v{ 0xEB8D0792,0xE95A,0x4B19,{ 0xAF,0xC7,0x0A,0x59,0xF8,0xBF,0x75,0x9E } }; // EB8D0792-E95A-4B19-AFC7-0A59F8BF759E template <> inline constexpr guid guid_v{ 0xE5AEEFDD,0xF50E,0x4A55,{ 0x8C,0xDC,0xD3,0x32,0x29,0x54,0x81,0x75 } }; // E5AEEFDD-F50E-4A55-8CDC-D33229548175 template <> inline constexpr guid guid_v{ 0x2F14930A,0xF6F8,0x4A48,{ 0x8D,0x89,0x94,0x78,0x6C,0xCA,0x0C,0x2E } }; // 2F14930A-F6F8-4A48-8D89-94786CCA0C2E template <> inline constexpr guid guid_v{ 0xE0CB28E3,0xB20B,0x4B0B,{ 0x9E,0xD4,0xF3,0xD5,0x3C,0xEC,0x0D,0xE4 } }; // E0CB28E3-B20B-4B0B-9ED4-F3D53CEC0DE4 template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IArcadeStick; }; template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IFlightStick; }; template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IGamepad; }; template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IHeadset; }; template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IRacingWheel; }; template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IRawGameController; }; template <> struct default_interface{ using type = winrt::Windows::Gaming::Input::IUINavigationController; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetButtonLabel(uint32_t, int32_t*) noexcept = 0; virtual int32_t __stdcall GetCurrentReading(struct struct_Windows_Gaming_Input_ArcadeStickReading*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_ArcadeStickAdded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ArcadeStickAdded(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_ArcadeStickRemoved(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ArcadeStickRemoved(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_ArcadeSticks(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FromGameController(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_HatSwitchKind(int32_t*) noexcept = 0; virtual int32_t __stdcall GetButtonLabel(uint32_t, int32_t*) noexcept = 0; virtual int32_t __stdcall GetCurrentReading(struct struct_Windows_Gaming_Input_FlightStickReading*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_FlightStickAdded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_FlightStickAdded(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_FlightStickRemoved(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_FlightStickRemoved(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_FlightSticks(void**) noexcept = 0; virtual int32_t __stdcall FromGameController(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_HeadsetConnected(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_HeadsetConnected(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_HeadsetDisconnected(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_HeadsetDisconnected(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_UserChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_UserChanged(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_Headset(void**) noexcept = 0; virtual int32_t __stdcall get_IsWireless(bool*) noexcept = 0; virtual int32_t __stdcall get_User(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall TryGetBatteryReport(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Vibration(struct struct_Windows_Gaming_Input_GamepadVibration*) noexcept = 0; virtual int32_t __stdcall put_Vibration(struct struct_Windows_Gaming_Input_GamepadVibration) noexcept = 0; virtual int32_t __stdcall GetCurrentReading(struct struct_Windows_Gaming_Input_GamepadReading*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetButtonLabel(uint32_t, int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_GamepadAdded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_GamepadAdded(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_GamepadRemoved(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_GamepadRemoved(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_Gamepads(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FromGameController(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_CaptureDeviceId(void**) noexcept = 0; virtual int32_t __stdcall get_RenderDeviceId(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_HasClutch(bool*) noexcept = 0; virtual int32_t __stdcall get_HasHandbrake(bool*) noexcept = 0; virtual int32_t __stdcall get_HasPatternShifter(bool*) noexcept = 0; virtual int32_t __stdcall get_MaxPatternShifterGear(int32_t*) noexcept = 0; virtual int32_t __stdcall get_MaxWheelAngle(double*) noexcept = 0; virtual int32_t __stdcall get_WheelMotor(void**) noexcept = 0; virtual int32_t __stdcall GetButtonLabel(uint32_t, int32_t*) noexcept = 0; virtual int32_t __stdcall GetCurrentReading(struct struct_Windows_Gaming_Input_RacingWheelReading*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_RacingWheelAdded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_RacingWheelAdded(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_RacingWheelRemoved(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_RacingWheelRemoved(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_RacingWheels(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FromGameController(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_AxisCount(int32_t*) noexcept = 0; virtual int32_t __stdcall get_ButtonCount(int32_t*) noexcept = 0; virtual int32_t __stdcall get_ForceFeedbackMotors(void**) noexcept = 0; virtual int32_t __stdcall get_HardwareProductId(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_HardwareVendorId(uint16_t*) noexcept = 0; virtual int32_t __stdcall get_SwitchCount(int32_t*) noexcept = 0; virtual int32_t __stdcall GetButtonLabel(int32_t, int32_t*) noexcept = 0; virtual int32_t __stdcall GetCurrentReading(uint32_t, bool*, uint32_t, int32_t*, uint32_t, double*, uint64_t*) noexcept = 0; virtual int32_t __stdcall GetSwitchKind(int32_t, int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SimpleHapticsControllers(void**) noexcept = 0; virtual int32_t __stdcall get_NonRoamableId(void**) noexcept = 0; virtual int32_t __stdcall get_DisplayName(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_RawGameControllerAdded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_RawGameControllerAdded(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_RawGameControllerRemoved(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_RawGameControllerRemoved(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_RawGameControllers(void**) noexcept = 0; virtual int32_t __stdcall FromGameController(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetCurrentReading(struct struct_Windows_Gaming_Input_UINavigationReading*) noexcept = 0; virtual int32_t __stdcall GetOptionalButtonLabel(uint32_t, int32_t*) noexcept = 0; virtual int32_t __stdcall GetRequiredButtonLabel(uint32_t, int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_UINavigationControllerAdded(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_UINavigationControllerAdded(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_UINavigationControllerRemoved(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_UINavigationControllerRemoved(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_UINavigationControllers(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FromGameController(void*, void**) noexcept = 0; }; }; template struct consume_Windows_Gaming_Input_IArcadeStick { auto GetButtonLabel(winrt::Windows::Gaming::Input::ArcadeStickButtons const& button) const; auto GetCurrentReading() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IArcadeStick; }; template struct consume_Windows_Gaming_Input_IArcadeStickStatics { auto ArcadeStickAdded(winrt::Windows::Foundation::EventHandler const& value) const; using ArcadeStickAdded_revoker = impl::event_revoker::remove_ArcadeStickAdded>; [[nodiscard]] auto ArcadeStickAdded(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto ArcadeStickAdded(winrt::event_token const& token) const noexcept; auto ArcadeStickRemoved(winrt::Windows::Foundation::EventHandler const& value) const; using ArcadeStickRemoved_revoker = impl::event_revoker::remove_ArcadeStickRemoved>; [[nodiscard]] auto ArcadeStickRemoved(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto ArcadeStickRemoved(winrt::event_token const& token) const noexcept; [[nodiscard]] auto ArcadeSticks() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IArcadeStickStatics; }; template struct consume_Windows_Gaming_Input_IArcadeStickStatics2 { auto FromGameController(winrt::Windows::Gaming::Input::IGameController const& gameController) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IArcadeStickStatics2; }; template struct consume_Windows_Gaming_Input_IFlightStick { [[nodiscard]] auto HatSwitchKind() const; auto GetButtonLabel(winrt::Windows::Gaming::Input::FlightStickButtons const& button) const; auto GetCurrentReading() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IFlightStick; }; template struct consume_Windows_Gaming_Input_IFlightStickStatics { auto FlightStickAdded(winrt::Windows::Foundation::EventHandler const& value) const; using FlightStickAdded_revoker = impl::event_revoker::remove_FlightStickAdded>; [[nodiscard]] auto FlightStickAdded(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto FlightStickAdded(winrt::event_token const& token) const noexcept; auto FlightStickRemoved(winrt::Windows::Foundation::EventHandler const& value) const; using FlightStickRemoved_revoker = impl::event_revoker::remove_FlightStickRemoved>; [[nodiscard]] auto FlightStickRemoved(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto FlightStickRemoved(winrt::event_token const& token) const noexcept; [[nodiscard]] auto FlightSticks() const; auto FromGameController(winrt::Windows::Gaming::Input::IGameController const& gameController) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IFlightStickStatics; }; template struct consume_Windows_Gaming_Input_IGameController { auto HeadsetConnected(winrt::Windows::Foundation::TypedEventHandler const& value) const; using HeadsetConnected_revoker = impl::event_revoker::remove_HeadsetConnected>; [[nodiscard]] auto HeadsetConnected(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& value) const; auto HeadsetConnected(winrt::event_token const& token) const noexcept; auto HeadsetDisconnected(winrt::Windows::Foundation::TypedEventHandler const& value) const; using HeadsetDisconnected_revoker = impl::event_revoker::remove_HeadsetDisconnected>; [[nodiscard]] auto HeadsetDisconnected(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& value) const; auto HeadsetDisconnected(winrt::event_token const& token) const noexcept; auto UserChanged(winrt::Windows::Foundation::TypedEventHandler const& value) const; using UserChanged_revoker = impl::event_revoker::remove_UserChanged>; [[nodiscard]] auto UserChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& value) const; auto UserChanged(winrt::event_token const& token) const noexcept; [[nodiscard]] auto Headset() const; [[nodiscard]] auto IsWireless() const; [[nodiscard]] auto User() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IGameController; }; template struct consume_Windows_Gaming_Input_IGameControllerBatteryInfo { auto TryGetBatteryReport() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IGameControllerBatteryInfo; }; template struct consume_Windows_Gaming_Input_IGamepad { [[nodiscard]] auto Vibration() const; auto Vibration(winrt::Windows::Gaming::Input::GamepadVibration const& value) const; auto GetCurrentReading() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IGamepad; }; template struct consume_Windows_Gaming_Input_IGamepad2 { auto GetButtonLabel(winrt::Windows::Gaming::Input::GamepadButtons const& button) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IGamepad2; }; template struct consume_Windows_Gaming_Input_IGamepadStatics { auto GamepadAdded(winrt::Windows::Foundation::EventHandler const& value) const; using GamepadAdded_revoker = impl::event_revoker::remove_GamepadAdded>; [[nodiscard]] auto GamepadAdded(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto GamepadAdded(winrt::event_token const& token) const noexcept; auto GamepadRemoved(winrt::Windows::Foundation::EventHandler const& value) const; using GamepadRemoved_revoker = impl::event_revoker::remove_GamepadRemoved>; [[nodiscard]] auto GamepadRemoved(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto GamepadRemoved(winrt::event_token const& token) const noexcept; [[nodiscard]] auto Gamepads() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IGamepadStatics; }; template struct consume_Windows_Gaming_Input_IGamepadStatics2 { auto FromGameController(winrt::Windows::Gaming::Input::IGameController const& gameController) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IGamepadStatics2; }; template struct consume_Windows_Gaming_Input_IHeadset { [[nodiscard]] auto CaptureDeviceId() const; [[nodiscard]] auto RenderDeviceId() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IHeadset; }; template struct consume_Windows_Gaming_Input_IRacingWheel { [[nodiscard]] auto HasClutch() const; [[nodiscard]] auto HasHandbrake() const; [[nodiscard]] auto HasPatternShifter() const; [[nodiscard]] auto MaxPatternShifterGear() const; [[nodiscard]] auto MaxWheelAngle() const; [[nodiscard]] auto WheelMotor() const; auto GetButtonLabel(winrt::Windows::Gaming::Input::RacingWheelButtons const& button) const; auto GetCurrentReading() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IRacingWheel; }; template struct consume_Windows_Gaming_Input_IRacingWheelStatics { auto RacingWheelAdded(winrt::Windows::Foundation::EventHandler const& value) const; using RacingWheelAdded_revoker = impl::event_revoker::remove_RacingWheelAdded>; [[nodiscard]] auto RacingWheelAdded(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto RacingWheelAdded(winrt::event_token const& token) const noexcept; auto RacingWheelRemoved(winrt::Windows::Foundation::EventHandler const& value) const; using RacingWheelRemoved_revoker = impl::event_revoker::remove_RacingWheelRemoved>; [[nodiscard]] auto RacingWheelRemoved(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto RacingWheelRemoved(winrt::event_token const& token) const noexcept; [[nodiscard]] auto RacingWheels() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IRacingWheelStatics; }; template struct consume_Windows_Gaming_Input_IRacingWheelStatics2 { auto FromGameController(winrt::Windows::Gaming::Input::IGameController const& gameController) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IRacingWheelStatics2; }; template struct consume_Windows_Gaming_Input_IRawGameController { [[nodiscard]] auto AxisCount() const; [[nodiscard]] auto ButtonCount() const; [[nodiscard]] auto ForceFeedbackMotors() const; [[nodiscard]] auto HardwareProductId() const; [[nodiscard]] auto HardwareVendorId() const; [[nodiscard]] auto SwitchCount() const; auto GetButtonLabel(int32_t buttonIndex) const; auto GetCurrentReading(array_view buttonArray, array_view switchArray, array_view axisArray) const; auto GetSwitchKind(int32_t switchIndex) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IRawGameController; }; template struct consume_Windows_Gaming_Input_IRawGameController2 { [[nodiscard]] auto SimpleHapticsControllers() const; [[nodiscard]] auto NonRoamableId() const; [[nodiscard]] auto DisplayName() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IRawGameController2; }; template struct consume_Windows_Gaming_Input_IRawGameControllerStatics { auto RawGameControllerAdded(winrt::Windows::Foundation::EventHandler const& value) const; using RawGameControllerAdded_revoker = impl::event_revoker::remove_RawGameControllerAdded>; [[nodiscard]] auto RawGameControllerAdded(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto RawGameControllerAdded(winrt::event_token const& token) const noexcept; auto RawGameControllerRemoved(winrt::Windows::Foundation::EventHandler const& value) const; using RawGameControllerRemoved_revoker = impl::event_revoker::remove_RawGameControllerRemoved>; [[nodiscard]] auto RawGameControllerRemoved(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto RawGameControllerRemoved(winrt::event_token const& token) const noexcept; [[nodiscard]] auto RawGameControllers() const; auto FromGameController(winrt::Windows::Gaming::Input::IGameController const& gameController) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IRawGameControllerStatics; }; template struct consume_Windows_Gaming_Input_IUINavigationController { auto GetCurrentReading() const; auto GetOptionalButtonLabel(winrt::Windows::Gaming::Input::OptionalUINavigationButtons const& button) const; auto GetRequiredButtonLabel(winrt::Windows::Gaming::Input::RequiredUINavigationButtons const& button) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IUINavigationController; }; template struct consume_Windows_Gaming_Input_IUINavigationControllerStatics { auto UINavigationControllerAdded(winrt::Windows::Foundation::EventHandler const& value) const; using UINavigationControllerAdded_revoker = impl::event_revoker::remove_UINavigationControllerAdded>; [[nodiscard]] auto UINavigationControllerAdded(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto UINavigationControllerAdded(winrt::event_token const& token) const noexcept; auto UINavigationControllerRemoved(winrt::Windows::Foundation::EventHandler const& value) const; using UINavigationControllerRemoved_revoker = impl::event_revoker::remove_UINavigationControllerRemoved>; [[nodiscard]] auto UINavigationControllerRemoved(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& value) const; auto UINavigationControllerRemoved(winrt::event_token const& token) const noexcept; [[nodiscard]] auto UINavigationControllers() const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IUINavigationControllerStatics; }; template struct consume_Windows_Gaming_Input_IUINavigationControllerStatics2 { auto FromGameController(winrt::Windows::Gaming::Input::IGameController const& gameController) const; }; template <> struct consume { template using type = consume_Windows_Gaming_Input_IUINavigationControllerStatics2; }; struct struct_Windows_Gaming_Input_ArcadeStickReading { uint64_t Timestamp; uint32_t Buttons; }; template <> struct abi { using type = struct_Windows_Gaming_Input_ArcadeStickReading; }; struct struct_Windows_Gaming_Input_FlightStickReading { uint64_t Timestamp; uint32_t Buttons; int32_t HatSwitch; double Roll; double Pitch; double Yaw; double Throttle; }; template <> struct abi { using type = struct_Windows_Gaming_Input_FlightStickReading; }; struct struct_Windows_Gaming_Input_GamepadReading { uint64_t Timestamp; uint32_t Buttons; double LeftTrigger; double RightTrigger; double LeftThumbstickX; double LeftThumbstickY; double RightThumbstickX; double RightThumbstickY; }; template <> struct abi { using type = struct_Windows_Gaming_Input_GamepadReading; }; struct struct_Windows_Gaming_Input_GamepadVibration { double LeftMotor; double RightMotor; double LeftTrigger; double RightTrigger; }; template <> struct abi { using type = struct_Windows_Gaming_Input_GamepadVibration; }; struct struct_Windows_Gaming_Input_RacingWheelReading { uint64_t Timestamp; uint32_t Buttons; int32_t PatternShifterGear; double Wheel; double Throttle; double Brake; double Clutch; double Handbrake; }; template <> struct abi { using type = struct_Windows_Gaming_Input_RacingWheelReading; }; struct struct_Windows_Gaming_Input_UINavigationReading { uint64_t Timestamp; uint32_t RequiredButtons; uint32_t OptionalButtons; }; template <> struct abi { using type = struct_Windows_Gaming_Input_UINavigationReading; }; } #endif