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
Alistair Leslie-Hughes
8d05256172
dinput: Cap the buffer size to 20.
...
When a program calls SetProperty with DIPROP_BUFFERSIZE, dinput records
this value for GetProperty but only uses it when the device can support
that number of buffers otherwise a max value.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45732
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 19:41:02 +01: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
Brendan McGrath
3a2834b3a4
dinput: Use the same GUID for Instance and Product.
...
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 17:22:36 +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
Bernhard Übelacker
fbc85ddc28
dinput: Implement device property DIPROP_USERNAME.
...
Signed-off-by: Bernhard Übelacker <bernhardu@vr-web.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 15:57:32 +09:00
Francois Gouget
128a86f0b0
dinput: IDirectInputDevice8WImpl_SetActionMap() is redundant so remove it.
2015-03-02 13:50:27 +09:00
Francois Gouget
1e8abc3984
dinput: Make semantic_to_obj_id() static.
2011-09-02 14:42:14 +02:00
Lucas Fialho Zawacki
d175c1526f
dinput: Common implementation for joystick, keyboard and mouse SetActionMap.
2011-08-24 11:51:42 +02:00
Lucas Fialho Zawacki
c0fd222321
dinput: Common implementation of BuildActionMap for keyboard and mouse.
2011-08-24 11:51:39 +02:00
Francois Gouget
5e9a1eeeb5
dinput: Remove IDirectInputDevice8AImpl_{Build,Set}ActionMap() as it is unused.
2011-08-01 18:26:26 +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
Lucas Fialho Zawacki
39684c7e3a
dinput: SetActionMap and queue_event setting mapped data.
2011-07-04 20:25:00 +02:00
Lucas Fialho Zawacki
b590090a48
dinput: SetActionMap constructing a dataformat for keyboard and mouse.
2011-07-04 20:24:48 +02:00
Lucas Fialho Zawacki
83aded2754
dinput: Keyboard and mouse implementation of BuildActionMap.
2011-07-04 20:24:10 +02:00
Marcus Meissner
cba138547a
dinput: Mark internal symbols as hidden.
2011-04-29 14:21:40 +02: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
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
179b862738
dinput: Rename IDirectInputDevice2AImpl into IDirectInputDeviceImpl.
2011-01-03 16:46:41 +01:00
Andrew Talbot
e6649952fa
dinput: Constify some variables.
2010-08-31 14:23:47 +02:00
Francois Gouget
c5b346440f
dsound: Make id_to_offset() static.
2009-12-02 14:19:50 +01:00
Vitaliy Margolen
2665272d6c
dinput: Pass event instance ID to queue_event instead of offset.
2009-11-30 12:49:11 +01:00
Vitaliy Margolen
6e07c7bc14
dinput: Remove DIEnumDevicesCallbackAtoW.
...
It's no longer used.
2008-12-20 11:11:30 +01:00
Alexandre Julliard
9ef1f0fe2e
dinput: Make some functions static.
2008-12-03 12:13:37 +01:00
Vitaliy Margolen
aa0188cd6f
dinput: Zero the out buffer.
2008-07-28 12:16:34 +02:00
Vitaliy Margolen
aa3694d8ac
dinput: Use Wine list for effects list.
2008-07-07 12:11:24 +02:00
Vitaliy Margolen
8ff85c08b6
dinput: Add a helper function to open configuration registry keys.
2007-09-25 11:55:23 +02:00
Vitaliy Margolen
319097f563
dinput: Move get_config_key to a common place.
2007-09-25 11:55:19 +02:00
Vitaliy Margolen
b06786940c
dinput: Reuse common code and definition.
...
Unify object properties structure and he common axis mapping function
for both joystick drivers.
2007-08-06 14:02:41 +02:00
Vitaliy Margolen
19183e71d4
dinput: Fix POV calculation.
...
Combine and simplify the POV calculations. Linux provides X,Y for the POV.
While DirectInput returns dial-degrees*1000 (12 o-click is 0 degrees).
2007-08-06 14:02:26 +02:00
Vitaliy Margolen
9e36848303
dinput: Fix mapping of axes ids to property ids.
2007-08-06 14:01:54 +02:00
Vitaliy Margolen
deb74efc04
dinput: Handle multiple keyboard and mouse devices.
2007-07-09 14:27:25 +02:00
Vitaliy Margolen
6d6e4f4ea2
dinput: Export Mouse and Keyboard GUIDs.
2007-07-09 14:25:47 +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
d2966c2dfb
dinput: Move parent dinput reference into base class.
2007-06-28 12:16:11 +02:00
Andrew Talbot
5e1ca16052
dinput: Constify some variables.
2007-04-24 11:53:46 +02:00
Vitaliy Margolen
dbd2112eee
dinput: Internal data format is not const anymore.
2007-01-11 11:49:12 +01:00
Vitaliy Margolen
da78a7af5e
dinput: Use internal data format for object lookups.
2007-01-11 11:48:55 +01:00
Vitaliy Margolen
cd306046bb
dinput: Pass complete DataFormat structure to find_property.
2007-01-10 12:23:28 +01:00
Vitaliy Margolen
30e2fbcb6e
dinput: Fix mouse to use proper offset when queuing new events. Add handling of X-buttons.
...
We should use instance IDs instead of sequential numbers to get correct offset.
2007-01-06 11:40:46 +01:00
Vitaliy Margolen
6246fa62f9
dinput: Remove redundant parameter.
2006-12-12 20:24:10 +01:00
Vitaliy Margolen
3446caab56
dinput: Add user data format into base class. Implement SetDataFormat.
2006-12-12 20:22:53 +01:00
Vitaliy Margolen
cd050bf25c
dinput: Move transform and offsets structures into base device class.
2006-12-12 20:22:44 +01:00
Vitaliy Margolen
68176eeda1
dinput: Move few helper functions and standardize them.
2006-12-11 16:17:46 +01:00
Vitaliy Margolen
267cbf8289
dinput: Move internal function calculate_ids to where it's really used.
2006-12-11 16:17:40 +01:00
Vitaliy Margolen
03fa9106cf
dinput: Remove no longer used GEN_EVENT.
2006-12-05 11:33:03 +01:00
Vitaliy Margolen
ce0c3cdae7
dinput: Implement [Get|Set]Property and GetDeviceData in base Device object.
...
Also add queue_event to replace big macro GEN_EVENT.
2006-12-05 11:32:34 +01:00
Vitaliy Margolen
0da0486cc3
dinput: Move critical section to the base device class.
2006-12-04 12:33:47 +01:00
Vitaliy Margolen
f7eacd64d1
dinput: Move acquired flag to the base device class. Add tests.
2006-12-04 12:33:35 +01:00