Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- include/windows.gaming.input.custom.idl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/include/windows.gaming.input.custom.idl b/include/windows.gaming.input.custom.idl index 001dbc36509..8347f4663d3 100644 --- a/include/windows.gaming.input.custom.idl +++ b/include/windows.gaming.input.custom.idl @@ -39,11 +39,13 @@ namespace Windows.Gaming.Input.Custom { interface IHidGameControllerInputSink; interface IHidGameControllerProvider; interface IXusbGameControllerInputSink; + interface IXusbGameControllerProvider; interface ICustomGameControllerFactory; interface IGameControllerFactoryManagerStatics; interface IGameControllerFactoryManagerStatics2; runtimeclass GameControllerFactoryManager; runtimeclass HidGameControllerProvider; + runtimeclass XusbGameControllerProvider;
[contract(Windows.Foundation.UniversalApiContract, 3.0)] enum XusbDeviceSubtype @@ -140,6 +142,17 @@ namespace Windows.Gaming.Input.Custom { [in, size_is(report_len)] BYTE *report_buf); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + exclusiveto(Windows.Gaming.Input.Custom.XusbGameControllerProvider), + uuid(6e2971eb-0efb-48b4-808b-837643b2f216) + ] + interface IXusbGameControllerProvider : IInspectable + requires Windows.Gaming.Input.Custom.IGameControllerProvider + { + HRESULT SetVibration([in] DOUBLE rumble_intensity, [in] DOUBLE buzz_intensity); + } + [ contract(Windows.Foundation.UniversalApiContract, 3.0), uuid(69a0ae5e-758e-4cbe-ace6-62155fe9126f) @@ -202,4 +215,15 @@ namespace Windows.Gaming.Input.Custom { [default] interface Windows.Gaming.Input.Custom.IHidGameControllerProvider; interface Windows.Gaming.Input.Custom.IGameControllerProvider; } + + [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass XusbGameControllerProvider + { + [default] interface Windows.Gaming.Input.Custom.IXusbGameControllerProvider; + interface Windows.Gaming.Input.Custom.IGameControllerProvider; + } }