Rémi Bernon
2692e59f46
windows.gaming.input: Implement stub IGamepad2 interface.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-06-08 15:04:56 +02:00
Rémi Bernon
622d98b74a
windows.gaming.input: Consistently use FIXME for E_NOINTERFACE messages.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-06-08 15:04:55 +02:00
Nikolay Sivov
ea4c506cd7
windows.gaming.input: Fix a leak on error path (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-06 12:13:25 +02:00
Rémi Bernon
3c304287e7
windows.gaming.input: Ignore IDirectInputDevice8_GetDeviceState failures.
...
We will get hotplug notifications asynchronously, and returning an error
here can cause uncaught C++ exceptions in games.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 18:30:46 +02:00
Rémi Bernon
b7f51783bb
windows.gaming.input: Implement IForceFeedbackEffect_get_State.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 18:30:45 +02:00
Rémi Bernon
b2b1e6a438
windows.gaming.input: Implement IForceFeedbackEffect_(Start|Stop).
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 18:30:43 +02:00
Rémi Bernon
37abfa73f2
windows.gaming.input: Implement IConditionForceEffect_SetParameters.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 21:46:33 +02:00
Rémi Bernon
84fe8c2246
windows.gaming.input: Implement IPeriodicForceEffect_SetParameters(WithEnvelope).
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 21:46:32 +02:00
Rémi Bernon
081a289126
windows.gaming.input: Implement IRampForceEffect_SetParameters(WithEnvelope).
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 21:46:31 +02:00
Rémi Bernon
aba20b0624
windows.gaming.input: Implement IConstantForceEffect_SetParameters(WithEnvelope).
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 21:46:29 +02:00
Rémi Bernon
bc6df7ca57
windows.gaming.input: Implement IForceFeedbackEffect_(get|put)_Gain.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 21:46:28 +02:00
Rémi Bernon
c578aa7cd3
windows.gaming.input: Always assume at least two force feedback axes.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 21:46:27 +02:00
Rémi Bernon
4e04446c9b
windows.gaming.input: Implement Windows.Gaming.Input.ConditionForceEffect runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 20:46:52 +02:00
Rémi Bernon
8d45305400
windows.gaming.input: Implement Windows.Gaming.Input.PeriodicForceEffect runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 20:46:51 +02:00
Rémi Bernon
569036b1f0
windows.gaming.input: Implement Windows.Gaming.Input.RampForceEffect runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 20:46:49 +02:00
Rémi Bernon
ee937e8e4b
windows.gaming.input: Implement IForceFeedbackMotor_TryUnloadEffectAsync.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 11:21:43 +02:00
Rémi Bernon
7259346ab0
windows.gaming.input: Implement IForceFeedbackMotor_LoadEffectAsync.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 11:21:42 +02:00
Rémi Bernon
7a82be5d97
windows.gaming.input: Add a type parameter to force_feedback_effect_create.
...
And convert it to IDirectInputEffect type GUID.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 11:21:41 +02:00
Rémi Bernon
d5edf656ef
windows.gaming.input: Implement IForceFeedbackEffect interface for ConstantForceEffect.
...
Using COM aggregation and a new IWineForceFeedbackEffectImpl interface,
deriving from IUnknown as it is only used internally.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 11:21:39 +02:00
Rémi Bernon
aa37aad2c8
windows.gaming.input: Implement and instantiate ConstantForceEffect runtimeclass stubs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-16 11:21:38 +02:00
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