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
Andrew Talbot
bf3d67c460
dinput: Qualify use of WINE_DEFAULT_DEBUG_CHANNEL.
2011-11-14 15:25:21 +01:00
Frédéric Delanoy
f932abf326
dlls: Assorted spelling fixes.
2011-08-01 18:26:27 +02:00
Lucas Fialho Zawacki
dc044e156d
dinput: BuildActionMap and SetActionMap stubs for generic joystick.
2011-07-12 11:37:23 +02:00
Jonas Maebe
90d8608185
dinput: Hook up joysticks to DirectInput event queue on Mac OS X.
2011-06-17 11:09:00 +02:00
Charles Davis
a2e11b452a
dinput: Don't link to/include Carbon on Mac OS X.
2011-01-25 12:45:44 +01:00
Vitaliy Margolen
0ac5c60374
dinput: Combine ASCII and Unicode device create callbacks. Add tests.
2011-01-24 14:43:09 +01:00
Vitaliy Margolen
9441d898f7
dinput: Make newly created device append itself to Direct Input's list.
2011-01-19 12:58:01 +01:00
Vitaliy Margolen
6b30480021
dinput: COM cleanup - use interfaces instead of vtbl. Combine both Unicode and ASCII interfaces into the same classes.
2011-01-10 12:41:20 +01:00
Vitaliy Margolen
6a07885029
dinput: Explicitly define ASCII and Unicode methods in joystick base class. Use new methods in child classes.
2011-01-10 11:03:49 +01:00
Vitaliy Margolen
0f24b9e86f
dinput: Explicitly define ASCII and Unicode methods in DirectInputDevice base class. Make ASCII methods call Unicode. Use new methods in child classes.
2011-01-10 11:03:17 +01:00
Vitaliy Margolen
399be3455a
dinput: COM cleanup - use helper function instead of direct typecast in OS/X joystick.
2011-01-10 11:02:04 +01:00
Vitaliy Margolen
15216098e0
dinput: COM cleanup - use proper DirectInput interface with IUknown calls.
2011-01-10 10:58:14 +01:00
Vitaliy Margolen
7d650d0b28
dinput: Pass interface instead of this pointer to joystick poll callback.
2011-01-03 16:48:16 +01:00
Zach Smith
fa5f61f59d
dinput: OSX joystick driver separate device for each top level HID collection.
2010-09-21 20:16:16 +02:00