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
Alexandre Julliard
6451e221f3
Build a static list of devices instead of relying on ELF
...
constructors.
2005-03-15 19:36:15 +00:00
Robert Reif
76447ec8d7
Added support for multiple devices.
2004-09-13 19:16:47 +00:00
Lionel Ulmer
4f640697bd
- some new logging on device enumeration
...
- fix version setting in DirectInputCreate(A/W) functions
2004-06-04 18:06:37 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Raphael Junqueira
c405019ee5
- DInput WideChar classes support. This time all dinput versions have
...
widechar classes.
- fix a stupid bug in callback handling caught by Lionel.
- add some forgotten IID on class factory (better if we want to active
the code)
- many cleanups on COM Macros (don't need A and W variants as they are
the same)
2003-06-16 20:22:13 +00:00
Christian Costa
77c00c9555
Make dinput8 behaviour more correct for mouse and keyboard.
...
Fix small bug when keyboard buffer overflows.
Use DI_OK instead of 0 for returned values.
2003-06-13 18:55:41 +00:00
Ove Kaaven
bed2b9c3dc
Only install the keyboard hook on device creation.
2003-02-11 22:10:11 +00:00