Rémi Bernon
b67cda8975
dinput: Simplify the internal thread and don't require loader lock.
...
When thread shuts down, instead of holding and releasing a module ref.
This keeps the thread alive until the module is unloaded, instead of
keeping track of live IDirectInput instances.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:17 +01:00
Rémi Bernon
2608a5caa6
dinput: Handle device types and flags directly in EnumDevices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-16 10:09:07 +01:00
Rémi Bernon
dac2e0b187
dinput: Rename IDirectInputDeviceImpl to struct dinput_device.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-27 22:40:49 +02:00
Rémi Bernon
bbff12381e
dinput: Call hid_joystick_enum_device directly in JoyConfig8Impl_GetConfig.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-26 10:39:34 +02:00
Rémi Bernon
a83e6db353
dinput: Call *_create_device directly in IDirectInput7WImpl_CreateDeviceEx.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-26 10:39:34 +02:00
Rémi Bernon
591be9d456
dinput: Call *_enum_device directly in IDirectInputWImpl_EnumDevices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-26 10:39:34 +02:00
Rémi Bernon
adfee25b45
dinput: Remove legacy joystick backends.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:29 +02:00
Rémi Bernon
afa1e60b27
dinput: Introduce new HID joystick backend.
...
This adds a new joystick backend, implemented on top of HID and without
any host dependencies. This will be progressively implementated, and
it's not going to be usable until at least a few more patches.
Because of that, and because it may also introduce regressions compared
to the existing backends, it is disabled by default and is optionally
enabled using the following global registry key:
[HKCU\\Software\\Wine\\DirectInput\\Joysticks]
"HID"="enabled"
Or using the corresponding AppDefaults registry key:
[HKCU\\Software\\Wine\\AppDefaults\\<app.exe>\\DirectInput\\Joysticks]
"HID"="enabled"
This setting will be removed later, when it becomes usable enough, to
use the individual device disable mechanism available in joy.cpl.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 21:49:09 +02:00
Rémi Bernon
d666aea360
dinput: Remove the need for ANSI enum_device callback.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 11:31:28 +02:00
Rémi Bernon
17958bc863
dinput: Factor out device creation interface queries.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 11:31:21 +02:00
Rémi Bernon
a6d3d74ff2
dinput: Move IDirectInput7 WtoA wrappers to ansi.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Rémi Bernon
bfc805194f
dinput: Move IDirectInput8 WtoA wrappers to ansi.c.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Rémi Bernon
5fe103107a
dinput: Use IDirectInputDevice8W interface consistently.
...
Instead of sometimes using IDirectInputDevice8A.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:01 +02:00
Rémi Bernon
81d1c79dcd
dinput8: Use rawinput interface for mouse device.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 21:17:17 +02:00
Rémi Bernon
306c40e673
dinput: Use dedicated list for mouse and keyboard.
...
Instead of using function pointer, which is also not very CPU friendly.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Rémi Bernon
26c1131201
dinput: Use a single list for all acquired devices.
...
Instead of going through devices list of dinputs list, and checking
their acquired field, which is not CPU friendly.
This also removes the now unused IDirectInputImpl critical section and
devices list.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Andrew Eikum
ae84957916
dinput: Use heuristics to guess if a device is a gamepad or a joystick.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47123
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 09:21:21 -05:00
Alistair Leslie-Hughes
1daeef7332
dinput: Use a helper function to get device type.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 09:15:34 -05:00
Sebastian Lackner
02f0342833
dinput: Avoid deadlock when CS are acquired in different order.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43356
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:23 +02:00
Zebediah Figura
d507549038
dinput: Use the global module instance handle to load resources.
...
This fixes a regression introduced by 56345c8757
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46323
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Jetro Jormalainen
967399eba0
dinput: Keep username same between device objects.
...
Signed-off-by: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 20:43:39 +01:00
Sebastian Lackner
bfb845f9fc
dinput: Ensure X11 input events are forwarded to wineserver even without message loop.
...
This commit basically reverts b22ff8018a
.
Windows does not do that, but our current implementation of winex11
requires periodic event polling to forward events to the wineserver.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 01:13:58 +09:00
Andrew Eikum
0ba314ebfa
dinput: Enumerate devices past the first non-matching device.
2013-05-21 12:08:01 +02:00
Lucas Zawacki
af1dcde288
dinput: SetActionMap saving mappings.
2012-08-27 11:13:15 +02:00
Vitaliy Margolen
a84d2fe20e
dinput: Stub IDirectInputJoyConfig8 interface.
2011-11-29 14:04:01 +01:00
Lucas Fialho Zawacki
0ae4710926
dinput: Added ConfigureDevices dialog.
2011-09-06 12:22:09 +02:00
Francois Gouget
19edb43627
dinput: Make _dump_diactionformatA() static.
2011-08-03 14:15:48 +02:00
Lucas Fialho Zawacki
31fdae5b4c
dinput: BuildActionMap for all joysticks. For the moment only for buttons and axis.
2011-07-22 12:57:21 +02:00
Andrew Nguyen
c126b21a34
dinput: Extract the DirectInput instance creation and initialization in DirectInputCreateEx to separate functions.
2011-07-06 11:13:45 +02:00
Lucas Fialho Zawacki
2fe9f14b29
dinput: SetActionMap setting the device buffer.
2011-06-28 16:45:56 -05:00
Lucas Fialho Zawacki
0f17c828f7
dinput: EnumDevicesBySemantics enumerating keyboard and mouse with priority flags.
2011-06-28 16:45:55 -05:00
Marcus Meissner
a19e31efd9
dinput: Mark internal symbols with hidden visibility.
2011-05-18 10:58:25 +02:00
Vitaliy Margolen
0ac5c60374
dinput: Combine ASCII and Unicode device create callbacks. Add tests.
2011-01-24 14:43:09 +01:00
Vitaliy Margolen
9594be7f79
dinput: Change internal check_dinput_hooks method to take W iface.
2011-01-10 11:02:16 +01:00
Vitaliy Margolen
2774d40463
dinput: Convert DirectInput to using interface instead of vtbl.
2010-12-29 10:48:32 +01:00
Michael Stefaniuc
2004db1bb1
dinput: Don't use HIWORD to check if a REFGUID is a DIPROP.
2010-02-02 11:47:20 +01:00
Aric Stewart
225a494d66
dinput: Add Mac OS/X joystick support.
2009-03-11 13:03:33 +01:00
Vitaliy Margolen
74f2eccc90
dinput: Let each device decide which hook event to skip.
...
Some programs acquire mouse in exclusive and keyboard in non-exclusive mode.
2009-02-23 12:19:25 +01:00
Marcus Meissner
9ce27fc7c1
dinput: Add a dumper for LPDIACTIONFORMAT.
...
Also make the DINPUT_instance static.
2008-02-16 15:10:47 +01:00
Vitaliy Margolen
efdee19d90
dinput: Convert IDirectInput into multi-interface object.
2007-07-12 12:59:20 +02:00
Vitaliy Margolen
8f28d4369e
dinput: Rename set_dinput_hook and call it from the base class.
...
Since keyboard's acquire and unacquire don't do anything special just call
the base class.
2007-07-09 14:31:38 +02:00
Vitaliy Margolen
deb74efc04
dinput: Handle multiple keyboard and mouse devices.
2007-07-09 14:27:25 +02:00
Vitaliy Margolen
fe1f1362b8
dinput: Keep a list of all IDirectInput objects and check it instead of refcount to create/destroy hook thread.
2007-07-09 14:25:39 +02:00
Vitaliy Margolen
448dde9be8
dinput: Keep the list of all the dinput devices created for each IDIrectInput object.
2007-07-09 14:25:33 +02:00
Vitaliy Margolen
722a686d66
dinput: Move hook_thread from device to DirectInput.
2006-09-11 17:45:42 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Mike McCormack
50a6d970f5
gcc 4.0 warning fixes for Interlocked* functions.
2005-08-03 11:03:05 +00:00
Dmitry Timoshkov
247246ede7
Make more of the OLE interface vtables const.
2005-05-30 10:01:08 +00:00
Robert Reif
6dd763e03b
Pass around real version and do correct thing based on it.
...
Change cooperative level to pass on windows.
2005-05-16 08:44:14 +00:00
Robert Reif
0f60464b95
Fix SetProperty error returned.
...
Add EnumDevice joystick version check.
Test multiple versions.
2005-05-13 13:57:17 +00:00