Commit Graph

69 Commits

Author SHA1 Message Date
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
Vitaliy Margolen 1dae4c6832 dinput: Move SetCooperativeLevel into base class. 2006-10-17 12:36:13 +02:00
Vitaliy Margolen af34ef12ba dinput: Move SetEventNotification and associated event into base class. 2006-10-17 12:36:00 +02:00