Rémi Bernon
ad8e3727c1
dinput: Make device creation error handling consistent.
...
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
5f4ee79149
dinput: Factor out IDirectInputDevice_SetActionMap WtoA conversions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:24 +02:00
Rémi Bernon
8109f8398a
dinput: Factor out IDirectInputDevice_BuildActionMap WtoA conversions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:19 +02:00
Rémi Bernon
27ea33baf9
dinput: Factor out IDirectInputDevice_GetDeviceInfo WtoA conversions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:13 +02:00
Rémi Bernon
7713050c77
dinput: Factor out IDirectInputDevice_GetDeviceState WtoA conversions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:08 +02:00
Rémi Bernon
5eb5f94fc0
dinput: Factor out IDirectInputDevice_GetCapabilities WtoA conversions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:03 +02:00
Rémi Bernon
08d07c4cc2
dinput: Factor out IDirectInputDevice_GetObjectInfo WtoA conversions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:37 +02:00
Rémi Bernon
90ef30828e
dinput: Use generic WtoA wrappers when possible.
...
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
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
Arkadiusz Hiler
0a82d891fc
dinput: Implement device creation using product GUID.
...
This fixes Far Cry Primal controller discovery.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 22:16:12 +01:00
Brendan Shanks
e9dda86273
dinput: Map Xbox One controller triggers (accelerator/brake) to Rx/Ry on Mac.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 22:26:35 +01:00
Brendan Shanks
e8332dece8
dinput: On Mac, always use both HID usage page and usage for comparisons.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 22:26:35 +01:00
Brendan Shanks
4cec31aaad
dinput: Enable Xbox One controller View and Xbox buttons on Mac.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 09:14:14 +01:00
Brendan Shanks
46980e799b
dinput: Fix Xbox One controller D-pad on Mac.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 09:14:10 +01: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
Brendan Shanks
d2d3959d3d
dinput: Add "PIDVID" guidProduct and use for non-keyboards/mice.
...
Windows uses an undocumented GUID (ending in ASCII "PIDVID") for
non-keyboard/mouse devices. Various games (DiRT Rally 2) and libraries
(SDL, GLFW) look for this GUID to match specific devices or know that
the PID/VID can be extracted.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-20 21:29:37 +02:00
Alexey Prokhin
f55ce610b2
dinput: Return fake DIPROP_GUIDANDPATH property for OSX joysticks.
...
Signed-off-by: Alexey Prokhin <alexey@prokhin.ru>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 20:25:35 +02:00
Aric Stewart
c5283300e1
dinput: Handle case where IOHIDDeviceGetValue fails.
...
This prevents crashes if a controller disconnects from OS/X.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 23:05:26 +02:00
Alistair Leslie-Hughes
fe4db5309e
dinput: Allow enumeration of joysticks with DirectX 3.
...
Star Wars: Rogue 3D requests a DirectX 3.0 version
0108:trace:dinput:DirectInputCreateEx (0x400000,0300,{9a4cb684-236d-11d3-8e9d-00c04f6844ae},0x7acfa0,(nil))
and then tries to interate over all Joysticks.
When using modern windows, the current tests show that this is the correct behaviour.
However, it's possible to use a shim to allow older games, like the
one above, to interate over joysticks.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:29:43 +02:00
Alistair Leslie-Hughes
52deca4900
dinput: Trace This pointer in a consistent way.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 11:39:52 -05: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
Andrew Eikum
085e58878f
dinput: Report controllers as gamepads, not joysticks.
...
This matches what Windows does with common controllers like xbox 360.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-18 23:37:55 +02:00
Michael Stefaniuc
6710a0485d
dinput: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:56:16 +02:00
Andrew Eikum
565c2dcf2a
dinput: Fix mac build.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:10 +02:00
Andrew Eikum
27ffb662ce
dinput: Use vid/pid for first chunk of product guid on OSX, too.
...
This is already done on the linux backends.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Bob Ziuchkovski
221708d64e
dinput: Ignore vendor-specific usage pages for joystick elements on Mac.
...
Signed-off-by: Bob Ziuchkovski <bob.ziuchkovski@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-09 21:34:50 +01:00
Bruno Jesus
f051de0d37
dinput: Return the correct error when CreateEffect is not supported.
...
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 12:40:34 +09:00
David Lawrie
49bf4f7eb6
dinput: Sort virtual joysticks by name on the Mac.
...
Signed-off-by: David Lawrie <david.dljunk@gmail.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 14:22:14 +09:00
David Lawrie
c543c603a5
dinput: Alter function name and code style.
...
Signed-off-by: David Lawrie <david.dljunk@gmail.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 17:40:11 +09:00
David Lawrie
33c43473c0
dinput: Sort devices by location ID on the Mac.
...
Signed-off-by: David Lawrie <david.dljunk@gmail.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 17:40:11 +09:00
David Lawrie
fef170af85
dinput: Print location ID in debugstr_device on the Mac.
...
Signed-off-by: David Lawrie <david.dljunk@gmail.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 17:40:10 +09:00
Michael Stefaniuc
48bf99ea89
dinput: Support IUnknown in the IDirectInputEffect COM object.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-15 21:07:17 +09:00
Ken Thomases
7367c68cc9
dinput: Add additional debug logging to Mac code.
2014-04-14 10:25:19 +02:00
Ken Thomases
180b9e63d9
dinput: Fix numerous leaks.
2014-04-14 10:25:04 +02:00
Ken Thomases
2d809218a9
dinput: Check array indexes to avoid exceeding array bounds.
2014-04-14 10:24:58 +02:00
Ken Thomases
ab872f2f36
dinput: Overhaul how the array of Mac device elements is built and sorted.
...
Use three separate arrays instead of one array with three sections that are
separately tracked. Use the Core Foundation sort function rather than
implementing a clumsy sort of our own.
2014-04-14 10:24:53 +02:00
Ken Thomases
bf938311a2
dinput: Use the proper mutable Core Foundation types for mutable collections and avoid casting.
2014-04-14 10:24:40 +02:00
Ken Thomases
4637b607b2
dinput: Fix check of wrong result value due to copy/paste error.
2014-04-14 10:24:26 +02:00
Ken Thomases
d053533444
dinput: Rename identifiers to get rid of Hungarian notation and deceptive names in Mac code.
2014-04-14 10:24:21 +02:00
Frédéric Delanoy
25f3356906
dinput: Use BOOL type where appropriate.
2013-10-04 12:46:26 +02:00
Andrew Eikum
51f97bb3f9
dinput: Support DIPROP_FFGAIN for OSX joysticks.
2013-05-24 11:01:45 +02:00
Andrew Eikum
0ba2a2f70b
dinput: Support DIPROP_AUTOCENTER for OSX joysticks.
2013-05-24 11:01:42 +02:00
Andrew Eikum
4ce1da041f
dinput: Report axes that support FF for OSX joysticks.
2013-05-24 11:01:40 +02:00
Andrew Eikum
1b0b0ab9a5
dinput: Support SendForceFeedbackCommand for OSX joysticks.
2013-05-24 11:01:36 +02:00
Andrew Eikum
5135f80a27
dinput: Debug print DIEFFECT structure.
2013-05-24 11:01:33 +02:00
Andrew Eikum
44a2d36f70
dinput: Translate OSX errors to win32 errors.
2013-05-24 11:01:28 +02:00
Andrew Eikum
3de75b1e95
dinput: Implement force feedback functions for OSX joysticks.
2013-05-21 12:09:25 +02:00
Andrew Eikum
e6450b4ea4
dinput: Determine if OSX devices support force feedback.
2013-05-21 12:09:22 +02:00
Andrew Eikum
0ba314ebfa
dinput: Enumerate devices past the first non-matching device.
2013-05-21 12:08:01 +02:00