Rémi Bernon
b1306875ff
windows.gaming.input: Implement stub ConstantForceEffect runtimeclass factory.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:40:43 +02:00
Rémi Bernon
922cf81c91
windows.gaming.input: Register Windows.Gaming.Input.ForceFeedback classes.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:40:41 +02:00
Rémi Bernon
5912d0fa00
windows.gaming.input: Use case insensitive compare when looking for devices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:40:40 +02:00
Rémi Bernon
c3c11d0803
windows.gaming.input: Reset spare CS pointer before deleting it.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:40:38 +02:00
Rémi Bernon
d7701deddc
windows.gaming.input: AddRef on the returned async handler in get_Completed.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-11 11:40:37 +02:00
Rémi Bernon
7b3a669ee3
windows.gaming.input: Use IUnknown invoker instead of IInspectable and add a parameter.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 20:57:54 +02:00
Rémi Bernon
c30c0abd24
windows.gaming.input: Split IAsyncInfo interface to a separate struct.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 20:57:53 +02:00
Rémi Bernon
b985fe6362
windows.gaming.input: Use a PROPVARIANT as async operation result.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 20:57:51 +02:00
Rémi Bernon
d99ee0273b
windows.gaming.input: Introduce a new type-pruning WineAsyncOperationCompletedHandler.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 20:57:50 +02:00
Rémi Bernon
cb2f3f76ee
windows.gaming.input: Set get_AreEffectsPaused value to FALSE when dinput fails.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 20:57:46 +02:00
Rémi Bernon
730b35ba46
windows.gaming.input: Import IAsyncOperation from windows.media.speech.
...
Adapting it for the IAsyncOperation_boolean interface and use it to
implement IForceFeedbackMotor_Try(Enable|Disable|Reset)Async.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 22:21:04 +02:00
Rémi Bernon
78261e08bf
windows.gaming.input: Implement IForceFeedbackMotor_(Pause|Resume|StopAll)Effects.
...
And IForceFeedbackMotor_get_AreEffectsPaused.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:34:14 +02:00
Rémi Bernon
fec8aae236
windows.gaming.input: Implement IForceFeedbackMotor_(get|put)_MasterGain.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:34:11 +02:00
Rémi Bernon
cd24005266
windows.gaming.input: Acquire the device exclusively when creating ForceFeedbackMotor.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:34:07 +02:00
Rémi Bernon
69745cc12d
windows.gaming.input: Implement ForceFeedbackMotor stub runtimeclass.
...
And create it for RawGameController and RacingWheel motors.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:34:04 +02:00
Rémi Bernon
5c88fea5e7
windows.gaming.input: Return an empty vector from RawGameController_get_ForceFeedbackMotors.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 20:34:00 +02:00
Rémi Bernon
b12c74e435
windows.gaming.input: Implement RacingWheel runtimeclass stub.
...
And instantiate the class for DI8DEVTYPE_DRIVING devices.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 13:20:09 +02:00
Rémi Bernon
e2e038e231
windows.gaming.input: Implement IRacingWheelStatics2 interface for RacingWheel.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 13:20:06 +02:00
Rémi Bernon
acc2b32a5e
windows.gaming.input: Implement ICustomGameControllerFactory interface for RacingWheel.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 13:20:04 +02:00
Rémi Bernon
d1bf6e7e37
windows.gaming.input: Implement IRacingWheelStatics interface for RacingWheel.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 13:20:01 +02:00
Rémi Bernon
9f5dc12a07
windows.gaming.input: Introduce Windows.Gaming.Input.RacingWheel activation factory.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-22 13:19:58 +02:00
Rémi Bernon
d99101977d
windows.gaming.input: Fix vector InsertAt / RemoveAt copy sizes.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:29:53 +01:00
Rémi Bernon
befeea424e
windows.gaming.input: Implement HID simple haptics controllers support.
...
Adding support for trigger rumble on supported controllers and drivers.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-15 12:48:11 +01:00
Rémi Bernon
0fb4c0519b
windows.gaming.input: Fix IIterator_IInspectable trace messages.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:41 +01:00
Rémi Bernon
ace5d0adb8
windows.gaming.input: Fix IIterator_IInspectable_MoveNext returne value.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:39 +01:00
Rémi Bernon
0fc5a07770
windows.gaming.input: Always return S_OK from TryGetFactoryControllerFromGameController.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Rémi Bernon
6ebdf1bab9
windows.gaming.input: Return correct error from DllGetActivationFactory.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-11 19:23:28 +01:00
Rémi Bernon
c2e2e919bc
windows.gaming.input: Implement GetCurrentReading for the Gamepad runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Rémi Bernon
bd628ba8c7
windows.gaming.input: Implement GetCurrentReading for the RawGameController runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Rémi Bernon
5fa86231f7
windows.gaming.input: Return object counts and VID/PID for RawGameController.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Rémi Bernon
1e9b83a440
windows.gaming.input: Implement Controller(Added|Removed) event support.
...
Using a generic EventHandler<IInspectable *> implementation.
This adds several todo_wine because we currently do not implement custom
game controller factories.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Rémi Bernon
e609c640a2
windows.gaming.input: Implement IGamepadStatics_get_Gamepads.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Rémi Bernon
1ca51d33c2
windows.gaming.input: Implement IRawGameControllerStatics_get_RawGameControllers.
...
It is important to add RawGameController instances to the vector in the
initialization callback, because some games check the vector, as well
as the Gamepad class vector in the OnGameControllerAdded callback.
This also removes the OnGameControllerAdded failure case, to avoid
leaking controllers that were already added to the controller vector,
and instead rely on the OnGameControllerRemoved call to do the cleanup.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 18:27:44 +01:00
Rémi Bernon
e3b1d818af
windows.gaming.input: Implement IIterable<T> and IIterator<T> interfaces.
...
For the generic vector implementation.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:16 +01:00
Rémi Bernon
b98b9ce74f
windows.gaming.input: Implement CreateGameController for Gamepad runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:16 +01:00
Rémi Bernon
47610b5461
windows.gaming.input: Implement CreateGameController for RawGameController runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-09 20:54:16 +01:00
Rémi Bernon
da745fee16
windows.gaming.input: Implement IGamepadStatics2_FromGameController.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Rémi Bernon
5518b29cfa
windows.gaming.input: Check the controller type and create Gamepad instances.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Rémi Bernon
d45a2a14cd
windows.gaming.input: Implement IRawGameControllerStatics_FromGameController.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Rémi Bernon
09cb88e91b
windows.gaming.input: Instantiate IGameController(BatteryInfo) stub from providers.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-08 22:43:36 +01:00
Francois Gouget
ea79e50f98
windows.gaming.input: Add a linefeed to a TRACE() message.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 16:31:36 +01:00
Rémi Bernon
aca853c73e
windows.gaming.input: Add IGameControllerImpl undocumented interface declaration.
...
This is more likely some specialized interface of a parameterized type,
used to create mixin types, but we have no way and no clue where it
comes from or how it should be declared.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 11:23:42 +01:00
Rémi Bernon
00ff428b30
windows.gaming.input: Stub ICustomGameControllerFactory for Gamepad.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 11:23:42 +01:00
Rémi Bernon
5adbc011d9
windows.gaming.input: Stub ICustomGameControllerFactory for RawGameController.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 11:23:42 +01:00
Rémi Bernon
0d3c026bdb
windows.gaming.input: Make QueryInterface implementations consistent.
...
When COM aggregation is involved it is important to add a reference to
the returned iface and not to the inner object.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 11:23:42 +01:00
Rémi Bernon
e171b58aae
windows.gaming.input: Instantiate the WineGameControllerProvider runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 19:16:40 +01:00
Rémi Bernon
d6be529ce8
windows.gaming.input: Start a thread to monitor HID device addition and removal.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 19:16:40 +01:00
Rémi Bernon
afaf061ede
windows.gaming.input: Add an internal WineGameControllerProvider runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 19:16:39 +01:00
Rémi Bernon
1f694c7f79
include: Add Windows.Gaming.Input.IGameControllerBatteryInfo interface definition.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:18:06 +01:00
Rémi Bernon
350c8ec3ba
windows.gaming.input: Register Windows.Gaming.Input.Custom classes.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:18:00 +01:00