Commit Graph

132 Commits

Author SHA1 Message Date
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 d61d710121 dinput: Mouse device doesn't support property DIPROP_VIDPID.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 12:48:11 +01:00
Alistair Leslie-Hughes c4debff5db dinput: Improve returned flags in Mouse GetObjectInfo.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:42:22 +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
Alistair Leslie-Hughes 381fa00b6a dinput: Support DIDEVICEINSTANCE_DX3 for Mouse GetDeviceInfo.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 07:13:53 -05:00
Alistair Leslie-Hughes b3c5062f36 dinput: Don't report SysMouse/Keyboard devices as supporting Force Feedback.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-26 21:05:08 +02:00
Piotr Caban e7d1107f32 dinput: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:50:40 +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
Johann Frei 4bc1e172ec dinput: Implement X/Y axis granularity and add test.
Signed-off-by: Johann Frei <johann_frei@yahoo.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-08 11:27:19 -06: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
Sebastian Lackner eca5ee9a49 dinput: Print TRACE at the beginning of SysMouseWImpl_GetDeviceState function.
Also move the _dump_mouse_state() call inside of the lock.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 01:13:57 +09:00
André Hentschel c440168e53 dinput: Remove unused functions (Clang). 2014-11-25 19:49:40 +01:00
Andrew Eikum 0ba314ebfa dinput: Enumerate devices past the first non-matching device. 2013-05-21 12:08:01 +02:00
Dmitry Timoshkov 1a61dcc25d dinput: Use standard way for dumping POINT. 2012-03-27 11:38:11 +02:00
Alexandre Julliard 011a3523aa dinput: Filter out mouse wheel messages in exclusive mode. 2012-02-15 19:17:36 +01:00
Alexandre Julliard a1580bba70 dinput: Clip to the client area instead of the whole window in exclusive mode. 2012-02-01 16:42:47 +01:00
Alexandre Julliard b0657c8623 dinput: Catch unsuccessful clipping attempts and fall back to warping. 2012-01-30 20:44:48 +01:00
Alexandre Julliard f6368c4202 dinput: Clip the mouse to the entire window instead of a 1x1 rectangle in exclusive mode. 2012-01-19 21:08:51 +01:00
Vitaliy Margolen 35016b0513 dinput: Report mouse and keyboard as being emulated. This works better for some games. 2011-10-31 16:46:21 +01:00
Vitaliy Margolen d7db5d5399 dinput: Don't mask buffer overflow error. 2011-10-17 17:45:01 +02:00
Lucas Fialho Zawacki 64c1f4778c dinput: Proper conversion of username parameters for Set and BuildActionMap. 2011-08-24 11:51:51 +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
Frédéric Delanoy f932abf326 dlls: Assorted spelling fixes. 2011-08-01 18:26:27 +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
Alexandre Julliard 86b682154b dinput: Reset the clipped flag when the cursor is released. 2011-05-05 16:32:00 +02:00
Alexandre Julliard 0036e438db dinput: Pass mouse messages through if the request to clip the cursor is rejected. 2011-04-26 16:04:23 +02:00
Alexandre Julliard c52f415415 dinput: Use a 1x1 clipping rect instead of warping the mouse in exclusive mode. 2011-04-26 16:04:00 +02:00
Alexandre Julliard 5f2daff124 dinput: Add a helper function for mouse warping. 2011-04-26 15:31:32 +02:00
Alexandre Julliard 8578f9c375 dinput: Get rid of some redundant coordinate mappings. 2011-04-26 15:31:31 +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 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 30ab6c1749 dinput: Explicitly define ASCII and Unicode methods in mouse. 2011-01-10 11:03:40 +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 625fefca61 dinput: COM cleanup - use helper function instead of direct typecast in mouse. 2011-01-10 11:01:39 +01:00
Vitaliy Margolen 0b99bf3edb dinput: COM cleanup - use proper interface instead of typecasting This when calling queue_event. 2011-01-10 10:58:26 +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 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
Michael Stefaniuc 2004db1bb1 dinput: Don't use HIWORD to check if a REFGUID is a DIPROP. 2010-02-02 11:47:20 +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 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
Alexandre Julliard fffcd23cce dinput: Fix pointer cast warnings on 64-bit. 2009-01-05 12:39:44 +01:00
Vitaliy Margolen 517462cf9a dinput: Add mouse warp override config option. 2008-08-20 14:05:18 +02:00
Vitaliy Margolen aa0188cd6f dinput: Zero the out buffer. 2008-07-28 12:16:34 +02:00
Austin English 06d429d6b6 Spelling fixes. 2008-03-27 20:48:19 +01:00