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
Rémi Bernon
435ac84c21
windows.gaming.input: Stub GameControllerFactoryManager runtimeclass.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:57 +01:00
Rémi Bernon
45eb5d0909
windows.gaming.input: Introduce helpers to define IInspectable interface boilerplate.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:55 +01:00
Rémi Bernon
46f4975b05
windows.gaming.input: Introduce a generic IVector<IInspectable *> implementation.
...
And use it to factor all the IVectorView<T> stubs.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Rémi Bernon
c565d0035e
windows.gaming.input: Split Gamepad runtimeclass to a separate source.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Rémi Bernon
e8219b5989
windows.gaming.input: Split RawGameController runtimeclass to separate source.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Rémi Bernon
c91dacca9c
windows.gaming.input/tests: Fix printf warnings with long types.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:54 +01:00
Rémi Bernon
ad060ae862
windows.gaming.input: Fix printf format warnings with long types.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Alexandre Julliard
088a787a2c
makefiles: Make -mno-cygwin the default.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Michael Stefaniuc
07ecdf6ce2
windows.gaming.input/tests: Test the correct return value.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 22:10:21 +02:00
Alexandre Julliard
bd6b53740c
winecrt0: Add a default implementation for DllCanUnloadNow().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Zebediah Figura
ac1c347153
windows.gaming.input: Link directly to combase.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 10:21:15 +02:00
Rémi Bernon
a29a12135a
include: Use UINT32 for IVectorView<T> index/size arguments.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 20:52:39 +01:00
Rémi Bernon
03e3bf5324
include: Add missing items_size parameter to GetMany.
...
For IVectorView and IIterator interfaces.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 20:52:22 +01:00
Rémi Bernon
e2189f588f
windows.gaming.input: Fake IEventHandler_RawGameController support.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon
5f4c28ea4b
windows.gaming.input: Fake empty IRawGameControllerStatics::RawGameControllers vector.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon
f32584544d
windows.gaming.input: Implement IRawGameControllerStatics::RawGameControllers stubs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon
21c8a30906
windows.gaming.input: Implement IRawGameControllerStatics stubs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon
3728a81389
windows.gaming.input: Fake IEventHandler_Gamepad support.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon
ae69092491
windows.gaming.input: Fake empty IGamepadStatics::Gamepads vector.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon
4a4d5a6f3d
windows.gaming.input: Implement IGamepadStatics::Gamepads stubs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 22:04:01 +01:00
Rémi Bernon
800bbece78
windows.gaming.input: Implement IGamepadStatics stubs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 22:04:01 +01:00