2 * Copyright 2021 RĂ©mi Bernon for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #pragma winrt ns_prefix
24 import
"inspectable.idl";
25 import
"asyncinfo.idl";
26 import
"eventtoken.idl";
27 import
"windowscontracts.idl";
28 import
"windows.foundation.idl";
29 import
"windows.devices.haptics.idl";
30 import
"windows.gaming.input.forcefeedback.idl";
31 import
"windows.system.idl";
32 import
"windows.devices.power.idl";
35 namespace Windows.Gaming.Input
{
36 typedef enum ArcadeStickButtons ArcadeStickButtons
;
37 typedef enum FlightStickButtons FlightStickButtons
;
38 typedef enum GamepadButtons GamepadButtons
;
39 typedef enum GameControllerButtonLabel GameControllerButtonLabel
;
40 typedef enum GameControllerSwitchKind GameControllerSwitchKind
;
41 typedef enum GameControllerSwitchPosition GameControllerSwitchPosition
;
42 typedef enum RacingWheelButtons RacingWheelButtons
;
43 typedef struct ArcadeStickReading ArcadeStickReading
;
44 typedef struct FlightStickReading FlightStickReading
;
45 typedef struct GamepadReading GamepadReading
;
46 typedef struct GamepadVibration GamepadVibration
;
47 typedef struct RacingWheelReading RacingWheelReading
;
48 interface IArcadeStick
;
49 interface IArcadeStickStatics
;
50 interface IArcadeStickStatics2
;
51 interface IFlightStick
;
52 interface IFlightStickStatics
;
53 interface IGameController
;
54 interface IGameControllerBatteryInfo
;
57 interface IGamepadStatics
;
58 interface IGamepadStatics2
;
59 interface IRacingWheel
;
60 interface IRacingWheelStatics
;
61 interface IRacingWheelStatics2
;
62 interface IRawGameController
;
63 interface IRawGameController2
;
64 runtimeclass ArcadeStick
;
65 runtimeclass FlightStick
;
68 runtimeclass RacingWheel
;
69 runtimeclass RawGameController
;
72 interface Windows.Foundation.EventHandler
<Windows.Gaming.Input.ArcadeStick
*>;
73 interface Windows.Foundation.EventHandler
<Windows.Gaming.Input.FlightStick
*>;
74 interface Windows.Foundation.EventHandler
<Windows.Gaming.Input.Gamepad
*>;
75 interface Windows.Foundation.EventHandler
<Windows.Gaming.Input.RacingWheel
*>;
76 interface Windows.Foundation.EventHandler
<Windows.Gaming.Input.RawGameController
*>;
77 interface Windows.Foundation.TypedEventHandler
<Windows.Gaming.Input.IGameController
*, Windows.Gaming.Input.Headset
*>;
78 interface Windows.Foundation.TypedEventHandler
<Windows.Gaming.Input.IGameController
*, Windows.System.UserChangedEventArgs
*>;
79 interface Windows.Foundation.Collections.IIterator
<Windows.Gaming.Input.ArcadeStick
*>;
80 interface Windows.Foundation.Collections.IIterable
<Windows.Gaming.Input.ArcadeStick
*>;
81 interface Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.ArcadeStick
*>;
82 interface Windows.Foundation.Collections.IIterator
<Windows.Gaming.Input.FlightStick
*>;
83 interface Windows.Foundation.Collections.IIterable
<Windows.Gaming.Input.FlightStick
*>;
84 interface Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.FlightStick
*>;
85 interface Windows.Foundation.Collections.IIterator
<Windows.Gaming.Input.Gamepad
*>;
86 interface Windows.Foundation.Collections.IIterable
<Windows.Gaming.Input.Gamepad
*>;
87 interface Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.Gamepad
*>;
88 interface Windows.Foundation.Collections.IVector
<Windows.Gaming.Input.Gamepad
*>;
89 interface Windows.Foundation.Collections.IIterator
<Windows.Gaming.Input.RacingWheel
*>;
90 interface Windows.Foundation.Collections.IIterable
<Windows.Gaming.Input.RacingWheel
*>;
91 interface Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.RacingWheel
*>;
92 interface Windows.Foundation.Collections.IVector
<Windows.Gaming.Input.RacingWheel
*>;
93 interface Windows.Foundation.Collections.IIterator
<Windows.Gaming.Input.RawGameController
*>;
94 interface Windows.Foundation.Collections.IIterable
<Windows.Gaming.Input.RawGameController
*>;
95 interface Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.RawGameController
*>;
96 interface Windows.Foundation.Collections.IVector
<Windows.Gaming.Input.RawGameController
*>;
100 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
103 enum ArcadeStickButtons
121 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
124 enum FlightStickButtons
132 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
148 LeftShoulder
= 0x400,
149 RightShoulder
= 0x800,
150 LeftThumbstick
= 0x1000,
151 RightThumbstick
= 0x2000,
152 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
154 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
156 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
158 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
162 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
163 enum GameControllerButtonLabel
179 XboxLeftTrigger
= 14,
180 XboxLeftStickButton
= 15,
181 XboxRightBumper
= 16,
182 XboxRightTrigger
= 17,
183 XboxRightStickButton
= 18,
214 LeftStickButton
= 49,
220 RightStickButton
= 55,
236 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)]
237 enum GameControllerSwitchKind
244 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)]
245 enum GameControllerSwitchPosition
259 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
262 enum RacingWheelButtons
289 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
290 struct ArcadeStickReading
293 Windows.Gaming.Input.ArcadeStickButtons Buttons
;
296 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)]
297 struct FlightStickReading
300 Windows.Gaming.Input.FlightStickButtons Buttons
;
301 Windows.Gaming.Input.GameControllerSwitchPosition HatSwitch
;
308 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
309 struct GamepadReading
312 Windows.Gaming.Input.GamepadButtons Buttons
;
315 DOUBLE LeftThumbstickX
;
316 DOUBLE LeftThumbstickY
;
317 DOUBLE RightThumbstickX
;
318 DOUBLE RightThumbstickY
;
321 [contract
(Windows.Foundation.UniversalApiContract
, 1.0)]
322 struct GamepadVibration
330 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)]
331 struct RacingWheelReading
334 Windows.Gaming.Input.RacingWheelButtons Buttons
;
335 INT32 PatternShifterGear
;
344 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
345 exclusiveto
(Windows.Gaming.Input.ArcadeStick
),
346 uuid(b14a539d
-befb
-4c81
-8051-15ecf3b13036
)
348 interface IArcadeStick
: IInspectable
349 requires Windows.Gaming.Input.IGameController
351 HRESULT GetButtonLabel
([in] Windows.Gaming.Input.ArcadeStickButtons button
,
352 [out, retval] Windows.Gaming.Input.GameControllerButtonLabel
*value
);
353 HRESULT GetCurrentReading
([out, retval] Windows.Gaming.Input.ArcadeStickReading
*value
);
357 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
358 exclusiveto
(Windows.Gaming.Input.ArcadeStick
),
359 uuid(5c37b8c8
-37b1
-4ad8
-9458-200f1a30018e
)
361 interface IArcadeStickStatics
: IInspectable
363 [eventadd
] HRESULT ArcadeStickAdded
([in] Windows.Foundation.EventHandler
<Windows.Gaming.Input.ArcadeStick
*> *value
,
364 [out, retval] EventRegistrationToken
*token
);
365 [eventremove
] HRESULT ArcadeStickAdded
([in] EventRegistrationToken token
);
366 [eventadd
] HRESULT ArcadeStickRemoved
([in] Windows.Foundation.EventHandler
<Windows.Gaming.Input.ArcadeStick
*> *value
,
367 [out, retval] EventRegistrationToken
*token
);
368 [eventremove
] HRESULT ArcadeStickRemoved
([in] EventRegistrationToken token
);
369 [propget] HRESULT ArcadeSticks
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.ArcadeStick
*> **value
);
373 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
374 exclusiveto
(Windows.Gaming.Input.ArcadeStick
),
375 uuid(52b5d744
-bb86
-445a
-b59c
-596f0e2a49df
)
377 interface IArcadeStickStatics2
: IInspectable
378 requires Windows.Gaming.Input.IArcadeStickStatics
380 HRESULT FromGameController
([in] Windows.Gaming.Input.IGameController
*controller
,
381 [out, retval] Windows.Gaming.Input.ArcadeStick
**value
);
385 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
386 exclusiveto
(Windows.Gaming.Input.FlightStick
),
387 uuid(b4a2c01c
-b83b
-4459-a1a9
-97b03c33da7c
)
389 interface IFlightStick
: IInspectable
390 requires Windows.Gaming.Input.IGameController
392 [propget] HRESULT HatSwitchKind
([out, retval] Windows.Gaming.Input.GameControllerSwitchKind
*value
);
393 HRESULT GetButtonLabel
([in] Windows.Gaming.Input.FlightStickButtons button
,
394 [out, retval] Windows.Gaming.Input.GameControllerButtonLabel
*value
);
395 HRESULT GetCurrentReading
([out, retval] Windows.Gaming.Input.FlightStickReading
*value
);
399 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
400 exclusiveto
(Windows.Gaming.Input.FlightStick
),
401 uuid(5514924a
-fecc
-435e-83dc
-5cec8a18a520
)
403 interface IFlightStickStatics
: IInspectable
405 [eventadd
] HRESULT FlightStickAdded
([in] Windows.Foundation.EventHandler
<Windows.Gaming.Input.FlightStick
*> *value
,
406 [out, retval] EventRegistrationToken
*token
);
407 [eventremove
] HRESULT FlightStickAdded
([in] EventRegistrationToken token
);
408 [eventadd
] HRESULT FlightStickRemoved
([in] Windows.Foundation.EventHandler
<Windows.Gaming.Input.FlightStick
*> *value
,
409 [out, retval] EventRegistrationToken
*token
);
410 [eventremove
] HRESULT FlightStickRemoved
([in] EventRegistrationToken token
);
411 [propget] HRESULT FlightSticks
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.FlightStick
*> **value
);
412 HRESULT FromGameController
([in] Windows.Gaming.Input.IGameController
*controller
,
413 [out, retval] Windows.Gaming.Input.FlightStick
**value
);
417 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
418 uuid(1baf6522
-5f64
-42c5
-8267-b9fe2215bfbd
)
420 interface IGameController
: IInspectable
422 [eventadd
] HRESULT HeadsetConnected
([in] Windows.Foundation.TypedEventHandler
<Windows.Gaming.Input.IGameController
*, Windows.Gaming.Input.Headset
*> *handler
,
423 [out, retval] EventRegistrationToken
*token
);
424 [eventremove
] HRESULT HeadsetConnected
([in] EventRegistrationToken token
);
425 [eventadd
] HRESULT HeadsetDisconnected
([in] Windows.Foundation.TypedEventHandler
<Windows.Gaming.Input.IGameController
*, Windows.Gaming.Input.Headset
*> *handler
,
426 [out, retval] EventRegistrationToken
*token
);
427 [eventremove
] HRESULT HeadsetDisconnected
([in] EventRegistrationToken token
);
428 [eventadd
] HRESULT UserChanged
([in] Windows.Foundation.TypedEventHandler
<Windows.Gaming.Input.IGameController
*, Windows.System.UserChangedEventArgs
*> *handler
,
429 [out, retval] EventRegistrationToken
*token
);
430 [eventremove
] HRESULT UserChanged
([in] EventRegistrationToken token
);
431 [propget] HRESULT Headset
([out, retval] Windows.Gaming.Input.Headset
**value
);
432 [propget] HRESULT IsWireless
([out, retval] boolean *value
);
433 [propget] HRESULT User
([out, retval] Windows.System.User
**value
);
437 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
438 exclusiveto
(Windows.Gaming.Input.Gamepad
),
439 uuid(bc7bb43c
-0a69
-3903-9e9d
-a50f86a45de5
)
441 interface IGamepad
: IInspectable
442 requires Windows.Gaming.Input.IGameController
444 [propget] HRESULT Vibration
([out, retval] Windows.Gaming.Input.GamepadVibration
*value
);
445 [propput] HRESULT Vibration
([in] Windows.Gaming.Input.GamepadVibration value
);
446 HRESULT GetCurrentReading
([out, retval] Windows.Gaming.Input.GamepadReading
*value
);
450 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
451 exclusiveto
(Windows.Gaming.Input.RacingWheel
),
452 uuid(f546656f
-e106
-4c82
-a90f
-554012904b85
)
454 interface IRacingWheel
: IInspectable
455 requires Windows.Gaming.Input.IGameController
457 [propget] HRESULT HasClutch
([out, retval] boolean *value
);
458 [propget] HRESULT HasHandbrake
([out, retval] boolean *value
);
459 [propget] HRESULT HasPatternShifter
([out, retval] boolean *value
);
460 [propget] HRESULT MaxPatternShifterGear
([out, retval] INT32
*value
);
461 [propget] HRESULT MaxWheelAngle
([out, retval] DOUBLE *value
);
462 [propget] HRESULT WheelMotor
([out, retval] Windows.Gaming.Input.ForceFeedback.ForceFeedbackMotor
**value
);
463 HRESULT GetButtonLabel
([in] Windows.Gaming.Input.RacingWheelButtons button
, [out, retval] Windows.Gaming.Input.GameControllerButtonLabel
*value
);
464 HRESULT GetCurrentReading
([out, retval] Windows.Gaming.Input.RacingWheelReading
*value
);
468 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
469 exclusiveto
(Windows.Gaming.Input.RacingWheel
),
470 uuid(3ac12cd5
-581b
-4936-9f94
-69f1e6514c7d
)
472 interface IRacingWheelStatics
: IInspectable
474 [eventadd
] HRESULT RacingWheelAdded
([in] Windows.Foundation.EventHandler
<RacingWheel
*> *value
, [out, retval] EventRegistrationToken
*token
);
475 [eventremove
] HRESULT RacingWheelAdded
([in] EventRegistrationToken token
);
476 [eventadd
] HRESULT RacingWheelRemoved
([in] Windows.Foundation.EventHandler
<RacingWheel
*> *value
, [out, retval] EventRegistrationToken
*token
);
477 [eventremove
] HRESULT RacingWheelRemoved
([in] EventRegistrationToken token
);
478 [propget] HRESULT RacingWheels
([out, retval] Windows.Foundation.Collections.IVectorView
<RacingWheel
*> **value
);
482 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
483 exclusiveto
(Windows.Gaming.Input.RacingWheel
),
484 uuid(e666bcaa
-edfd
-4323-a9f6
-3c384048d1ed
)
486 interface IRacingWheelStatics2
: IInspectable
487 requires Windows.Gaming.Input.IRacingWheelStatics
489 HRESULT FromGameController
([in] Windows.Gaming.Input.IGameController
*controller
,
490 [out, retval] Windows.Gaming.Input.RacingWheel
**value
);
494 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
495 exclusiveto
(Windows.Gaming.Input.RawGameController
),
496 uuid(7cad6d91
-a7e1
-4f71
-9a78
-33e9c5dfea62
)
498 interface IRawGameController
: IInspectable
499 requires Windows.Gaming.Input.IGameController
501 [propget] HRESULT AxisCount
([out, retval] INT32
*value
);
502 [propget] HRESULT ButtonCount
([out, retval] INT32
*value
);
503 [propget] HRESULT ForceFeedbackMotors
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.ForceFeedback.ForceFeedbackMotor
*> **value
);
504 [propget] HRESULT HardwareProductId
([out, retval] UINT16
*value
);
505 [propget] HRESULT HardwareVendorId
([out, retval] UINT16
*value
);
506 [propget] HRESULT SwitchCount
([out, retval] INT32
*value
);
507 HRESULT GetButtonLabel
([in] INT32 index
, [out, retval] Windows.Gaming.Input.GameControllerButtonLabel
*value
);
508 HRESULT GetCurrentReading
([in] UINT32 buttons_size
, [out, size_is(buttons_size
)] boolean *buttons
,
509 [in] UINT32 switches_size
, [out, size_is(switches_size
)] Windows.Gaming.Input.GameControllerSwitchPosition
*switches
,
510 [in] UINT32 axes_size
, [out, size_is(axes_size
)] DOUBLE *axes
,
511 [out, retval] UINT64
*timestamp
);
512 HRESULT GetSwitchKind
([in] INT32 index
, [out, retval] Windows.Gaming.Input.GameControllerSwitchKind
*value
);
516 contract
(Windows.Foundation.UniversalApiContract
, 5.0),
517 exclusiveto
(Windows.Gaming.Input.RawGameController
),
518 uuid(43c0c035
-bb73
-4756-a787
-3ed6bea617bd
)
520 interface IRawGameController2
: IInspectable
521 requires Windows.Gaming.Input.IRawGameController
,
522 Windows.Gaming.Input.IGameController
524 [propget] HRESULT SimpleHapticsControllers
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Devices.Haptics.SimpleHapticsController
*> **value
);
525 [propget] HRESULT NonRoamableId
([out, retval] HSTRING
*value
);
526 [propget] HRESULT DisplayName
([out, retval] HSTRING
*value
);
531 uuid(8bbce529
-d49c
-39e9
-9560-e47dde96b7c8
)
533 interface IGamepadStatics
: IInspectable
535 [eventadd
] HRESULT GamepadAdded
([in] Windows.Foundation.EventHandler
<Gamepad
*> *value
, [out, retval] EventRegistrationToken
*token
);
536 [eventremove
] HRESULT GamepadAdded
([in] EventRegistrationToken token
);
537 [eventadd
] HRESULT GamepadRemoved
([in] Windows.Foundation.EventHandler
<Gamepad
*> *value
, [out, retval] EventRegistrationToken
*token
);
538 [eventremove
] HRESULT GamepadRemoved
([in] EventRegistrationToken token
);
539 [propget] HRESULT Gamepads
([out, retval] Windows.Foundation.Collections.IVectorView
<Gamepad
*> **value
);
543 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
544 exclusiveto
(Windows.Gaming.Input.Gamepad
),
545 uuid(42676dc5
-0856-47c4
-9213-b395504c3a3c
)
547 interface IGamepadStatics2
: IInspectable
548 requires Windows.Gaming.Input.IGamepadStatics
550 HRESULT FromGameController
([in] Windows.Gaming.Input.IGameController
*controller
,
551 [out, retval] Windows.Gaming.Input.Gamepad
**value
);
555 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
556 exclusiveto
(Windows.Gaming.Input.Headset
),
557 uuid(3fd156ef
-6925-3fa8
-9181-029c5223ae3b
)
559 interface IHeadset
: IInspectable
561 [propget] HRESULT CaptureDeviceId
([out, retval] HSTRING
*value
);
562 [propget] HRESULT RenderDeviceId
([out, retval] HSTRING
*value
);
567 uuid(eb8d0792
-e95a
-4b19
-afc7
-0a59f8bf759e
)
569 interface IRawGameControllerStatics
: IInspectable
571 [eventadd
] HRESULT RawGameControllerAdded
([in] Windows.Foundation.EventHandler
<Windows.Gaming.Input.RawGameController
*> *handler
,
572 [out, retval] EventRegistrationToken
*token
);
573 [eventremove
] HRESULT RawGameControllerAdded
([in] EventRegistrationToken token
);
574 [eventadd
] HRESULT RawGameControllerRemoved
([in] Windows.Foundation.EventHandler
<Windows.Gaming.Input.RawGameController
*> *handler
,
575 [out, retval] EventRegistrationToken
*token
);
576 [eventremove
] HRESULT RawGameControllerRemoved
([in] EventRegistrationToken token
);
577 [propget] HRESULT RawGameControllers
([out, retval] Windows.Foundation.Collections.IVectorView
<Windows.Gaming.Input.RawGameController
*> **value
);
578 HRESULT FromGameController
([in] Windows.Gaming.Input.IGameController
*game_controller
, [out, retval] Windows.Gaming.Input.RawGameController
**value
);
582 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
583 uuid(dcecc681
-3963-4da6
-955d
-553f3b6f6161
)
585 interface IGameControllerBatteryInfo
: IInspectable
587 HRESULT TryGetBatteryReport
([out, retval] Windows.Devices.Power.BatteryReport
**value
);
591 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
592 marshaling_behavior
(agile
),
593 static
(Windows.Gaming.Input.IArcadeStickStatics
, Windows.Foundation.UniversalApiContract
, 3.0),
594 static
(Windows.Gaming.Input.IArcadeStickStatics2
, Windows.Foundation.UniversalApiContract
, 4.0),
597 runtimeclass ArcadeStick
599 [default] interface Windows.Gaming.Input.IArcadeStick
;
600 interface Windows.Gaming.Input.IGameController
;
601 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo
;
605 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
606 marshaling_behavior
(agile
),
607 static
(Windows.Gaming.Input.IFlightStickStatics
, Windows.Foundation.UniversalApiContract
, 4.0),
610 runtimeclass FlightStick
612 [default] interface Windows.Gaming.Input.IFlightStick
;
613 interface Windows.Gaming.Input.IGameController
;
614 interface Windows.Gaming.Input.IGameControllerBatteryInfo
;
618 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
619 marshaling_behavior
(agile
),
620 static
(Windows.Gaming.Input.IGamepadStatics
, Windows.Foundation.UniversalApiContract
, 1.0),
621 static
(Windows.Gaming.Input.IGamepadStatics2
, Windows.Foundation.UniversalApiContract
, 4.0),
626 [default] interface Windows.Gaming.Input.IGamepad
;
627 interface Windows.Gaming.Input.IGameController
;
628 [contract
(Windows.Foundation.UniversalApiContract
, 3.0)] interface Windows.Gaming.Input.IGamepad2
;
629 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo
;
633 contract
(Windows.Foundation.UniversalApiContract
, 1.0),
634 marshaling_behavior
(agile
),
639 [default] interface Windows.Gaming.Input.IHeadset
;
640 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo
;
644 contract
(Windows.Foundation.UniversalApiContract
, 3.0),
645 marshaling_behavior
(agile
),
646 static
(Windows.Gaming.Input.IRacingWheelStatics
, Windows.Foundation.UniversalApiContract
, 3.0),
647 static
(Windows.Gaming.Input.IRacingWheelStatics2
, Windows.Foundation.UniversalApiContract
, 4.0),
650 runtimeclass RacingWheel
652 [default] interface Windows.Gaming.Input.IRacingWheel
;
653 interface Windows.Gaming.Input.IGameController
;
654 [contract
(Windows.Foundation.UniversalApiContract
, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo
;
658 contract
(Windows.Foundation.UniversalApiContract
, 4.0),
659 marshaling_behavior
(agile
),
660 static
(Windows.Gaming.Input.IRawGameControllerStatics
, Windows.Foundation.UniversalApiContract
, 4.0),
663 runtimeclass RawGameController
665 [default] interface Windows.Gaming.Input.IRawGameController
;
666 interface Windows.Gaming.Input.IGameController
;
667 interface Windows.Gaming.Input.IGameControllerBatteryInfo
;
668 [contract
(Windows.Foundation.UniversalApiContract
, 5.0)] interface Windows.Gaming.Input.IRawGameController2
;