Commit Graph

1195 Commits

Author SHA1 Message Date
Rémi Bernon a6d3d74ff2 dinput: Move IDirectInput7 WtoA wrappers to ansi.c.
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 bfc805194f dinput: Move IDirectInput8 WtoA wrappers to ansi.c.
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 5ef24d1281 dinput: Prefer IDirectInputW interfaces over IDirectInputA.
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 f3a07c5cae dinput: Factor out IDirectInputDevice ansi vtable.
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 8d7914962b dinput: Introduce direct_input_device_alloc helper.
To factor out device allocation and initialization.

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 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 5df60ff2ba dinput: Implement IDirectInputDevice_GetImageInfo WtoA conversion.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:13:58 +02:00
Rémi Bernon 06fa39cd76 dinput: Implement IDirectInputDevice_WriteEffectToFile WtoA conversion.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:38 +02:00
Rémi Bernon aa2da27e52 dinput: Implement IDirectInputDevice_EnumEffectsInFile WtoA conversion.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:38 +02:00
Rémi Bernon 6340a29680 dinput: Implement IDirectInputDevice_EnumEffects WtoA conversion.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:38 +02:00
Rémi Bernon 70b25ccfaa dinput: Implement IDirectInputDevice_GetEffectInfo WtoA conversion.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:38 +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 49c66a3a94 dinput/tests: Check IDirectInputDevice2AImpl_GetObjectInfo error codes.
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 9b834bb8bf dinput: Implement IDirectInputDevice_EnumObjects WtoA conversion.
Instead of a separate duplicate implementation.

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 ab8e416787 dinput/tests: Check IDirectInputDevice_EnumObjects error codes.
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 740f8dc6d8 dinput: Move IDirectInputDeviceA wrappers to ansi.c.
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 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
Rémi Bernon 15beabe071 dinput8/tests: Flush events after creating window.
To make it more likely it gets focused on X11 and fix spurious failures.

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
Alexandre Julliard 5d82baf974 winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Alexandre Julliard bd6b53740c winecrt0: Add a default implementation for DllCanUnloadNow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Rémi Bernon b71cea76ed dinput: Wait for the hook thread to exit when stopping it.
FlatOut2 demo calls FreeLibrary on the dinput8 module more times than
it has loaded it, and the module reference that the internal thread has
is getting decremented before its exit.

Having an internal window to destroy also makes it more likely to crash
as it takes more time to exit calls the window procedure function.

Waiting for the thread to complete when all the dinput instances are
destroyed ensures that the thread isn't alive when the game frees the
DLL, and prevents the thread from crashing.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50673
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 09:40:54 +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
Arkadiusz Hiler 8d206333fd dinput: Implement DIPROP_APPDATA.
This fixes not working analog inputs on game controllers in Slay the Spire.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 20:44:41 +01:00
Arkadiusz Hiler 542f613456 dinput: Clear action mapping with SetDataFormat().
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 20:44:18 +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
Michael Stefaniuc 64ee238016 dinput/tests: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 11:24:12 +02:00
Rémi Bernon 447bce4117 dinput8: Stop using LL hooks for mouse devices.
LL hooks are heavy and using them cause performance hit with high
polling rate mice. We don't need them anymore since we now use rawinput
API for mouse device.

This also uses a separate list for rawinput mouse devices.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 21:17:19 +02:00
Rémi Bernon 81d1c79dcd dinput8: Use rawinput interface for mouse device.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 21:17:17 +02:00
Rémi Bernon 225be12999 dinput8: Add support for rawinput based devices.
This adds a message window that will be used as the rawinput target
window for WM_INPUT messages.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 21:17:15 +02:00
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
Rémi Bernon 9463684d55 dinput: Stop sending WM_WINE_NOTIFY_ACTIVITY on every input.
This message triggers screensaver notification in the user drivers, but
it is not useful to send it on every input message, and it even hurts
performance when high polling mouse is used.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33643
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46976
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 1832dc3df3 dinput: Fix IDirectInputEffect::SetParameters() when called with flags=0.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:15:30 +02:00
Brendan Shanks 23a55927af dinput/tests: Test IDirectInputEffect::SetParameters() with a zeroed DIEFFECT and flags=0.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:15:28 +02:00
Brendan Shanks cf40880c69 dinput: Fix crash in dump_DIEFFECT() when lpvTypeSpecificParams is unexpectedly NULL.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:15:26 +02:00
Brendan Shanks f65cfbfe9b dinput: Fix DInput8 keyboard behavior for injected events with scancode=0.
Grand Theft Auto IV injects VK_F8 and scancode=0, and expects DirectInput not
to report that F8 is pressed.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Brendan Shanks d5fd3c8a38 dinput: Block Acquire() until hooks are installed to prevent input being lost.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Brendan Shanks f66517b5a2 dinput: Fix IDirectInputEffect::SetParameters() behavior with NULL effect parameters.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 09:23:30 +01:00
Brendan Shanks f00b59f597 dinput/tests: Test IDirectInputEffect::SetParameters() with NULL effect parameters.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 09:23:28 +01:00
Brendan Shanks f925becd4a dinput: Fix crash in dump_DIEFFECT() when rglDirection is unexpectedly NULL.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 20:58:47 +01:00
Rémi Bernon 50440e28bb dinput: Increase device buffer size to 1024.
The buffer size was previously limited to 20 in:

  8d05256172

Testing shows that it is somewhere around 1024 on Windows, and using a
smaller buffer causes some input data to be lost with high polling rate
mouses. It can be spotted in Wolfenstein II: New Colossus menus.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 18:49:59 +01:00
Jacek Caban 3ad95e03b8 makedep: Link importlib object files into module only when it's explicitly imported.
To prevent msvcrt linking its own importlib into DLL.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 21:11:29 +01:00
Andrew Eikum b58a6ce7c5 dinput: Add missing ASPECT flags to c_dfDIJoystick.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 20:58:01 +01:00
Andrew Eikum e2e100272f dinput: Add missing ASPECT flags for c_dfDIJoystick2.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 20:57:56 +01:00
Andrew Eikum af2f419426 dinput: Fix V/A/FSlider dwOfs values in c_dfDIJoystick2.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 20:57:52 +01: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
Bernat Arlandis 5d07cdf54f dinput: Log effect directions, and use effective flags.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01: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 f10f98cfa2 dinput: Keyboard 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:08 +01:00
Alistair Leslie-Hughes 1dfc36c379 dinput: Detect more buttons as non-joysticks.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Alistair Leslie-Hughes 61a85a6031 dinput/tests: Remove unrequired pointer checks (Coverity).
Also fixes a few test strings.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 17:11:43 +02:00
Alistair Leslie-Hughes db07ff83b3 dinput: Don't treat Stylus devices as joysticks.
Tablet/Stylus devices have a js* entry which we are
treating as a joystick.  Any testbox VM that is configured
with a tablet is currently failing the joystick tests.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 16:14:38 +02:00
Alistair Leslie-Hughes 0555209757 dinput/tests: Add checks for Acquire/Unacquire.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 10:57:50 +02:00
Rémi Bernon d7916cdf4f dinput/tests: Add test to validate interactions between dinput and raw input devices.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-27 21:54:47 +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
Brendan Shanks 50785992d0 dinput/tests: Test for correct guidProduct.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-20 21:29:37 +02:00
Alistair Leslie-Hughes 55edfc8837 dinput: Ensure buffer doesn't overflow (Coverity).
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 21:34:04 +02:00
Alexey Prokhin 1235ad1932 dinput/tests: Check path format of DIPROP_GUIDANDPATH property.
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:40 +02:00
Alexey Prokhin e2465fdb0a dinput/tests: Remove todo from DIPROP_GUIDANDPATH test.
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:38 +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
Alexey Prokhin 2bcdf8b73b dinput: Return fake DIPROP_GUIDANDPATH property for linux input 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:33 +02:00
Alexey Prokhin 16a11d0c90 dinput: Return fake DIPROP_GUIDANDPATH property for linux joysticks.
Some Ubisoft titles use the property to check if a dinput gamepad is
also an xinput device.

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:29 +02:00
Alistair Leslie-Hughes dba4428b6d dinput: Trace reference count in a consistent way.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:25:25 +02:00
Alistair Leslie-Hughes e29effc633 dinput: Return correct value in IDirectInputDevice2 Release.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:25:02 +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
Tim Schumacher 5d51d8a25e dinput/linuxinput: Remap wheel axes to X, Y, and Z.
Signed-off-by: Tim Schumacher <timschumi@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 22:33:30 +02:00
Tim Schumacher 66462cb7dc dinput: Check for wheel axes/buttons when finding joysticks.
Signed-off-by: Tim Schumacher <timschumi@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 21:31:34 +02:00
Alistair Leslie-Hughes 87a8622ffe dinput/tests: Remove unrequired if (Coverity).
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 14:39:34 +02:00
Alistair Leslie-Hughes ab5d9e43cb dinput: Support DIDEVICEINSTANCE_DX3 for keyboard GetDeviceInfo.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02: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
Alexandre Julliard 1d399dba61 dinput/tests: Remove duplicate const.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:37:34 +02:00
Alexandre Julliard d5a372abbb include: Move inline assembly definitions to a new wine/asm.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Alistair Leslie-Hughes 132cf25ed6 dinput: Handle setting DIPROP_CALIBRATIONMODE mode in generic implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47183
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 10:29:22 +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 9bcaf9769c dinput: Ensure Cursor is visible on config dialog.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 11:39:58 -05: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
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 f3259ba66c dinput: Improve EnumDevice tracing.
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 b59f8c0c50 dinput: Don't report that we cannot open a device.
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 9e6afc62b3 dinput: Return E_NOINTERFACE from IDirectInputDevice2 QueryInterface.
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 a2c10f4dca dinput: Don't return unsupported interfaces.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 21:51:08 +02:00
Tim Schumacher 1a6458bad8 dinput: Map wheel, gas, and brake axes as well.
The axes wheel, gas, and brake are just differently named replacements
for X, Y, and Z when using wheel-like joysticks.

Make those accessible by remapping them to X, Y, and Z internally.

Signed-off-by: Tim Schumacher <timschumi@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 11:22:51 +02: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
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
Zhiyi Zhang 886d28de97 dinput: Fix a possible deadlock at exit.
This fix another deadlock issue with dinput.

The old implementation of dinput waits for a hook thread to exit
during its uninitialization, which will never return during DLL_THREAD_DETACH.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +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
Sebastian Lackner 02f0342833 dinput: Avoid deadlock when CS are acquired in different order.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43356
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:23 +02:00
Sebastian Lackner 890d1b812a dinput: Do not wait for hook thread startup in IDirectInput8::Initialize.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21403
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 09:40:57 +02:00
Alexandre Julliard 6925fb0bb6 dinput: Add error check to silence a compiler warning.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Sven Baars cf1b9fe2c7 dinput: Free the device after a callback (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 21:39:20 +01:00
Sven Baars 2543295a15 dinput/tests: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 21:38:32 +01:00
Zebediah Figura d507549038 dinput: Use the global module instance handle to load resources.
This fixes a regression introduced by 56345c8757.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46323
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Zebediah Figura a8ce68333c dinput: Move the version resource to a separate file.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Alexandre Julliard d62ac319d2 dinput/tests: Try harder to avoid spurious keyboard input.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 14:58:57 +01:00
Alex Henrie 2ad7ecc6cd dinput: Turn two variables into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 16:13:10 +01: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
Brendan McGrath c357f3670f dinput/tests: Test that the GUID is the same 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:33 +01: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
Alistair Leslie-Hughes 56345c8757 dinput8: Share source with dinput.
Based on a patch by Andrew Wesie.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45568
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:21:52 +02:00
Akihiro Sagawa 966b3b20de dinput: Correct key name mappings on Japanese 106 keyboard.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa 6be7d14fb9 dinput: Fix DIK code mappings on Japanese 106 keyboard.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45475
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa d88a2086d1 dinput/tests: Add DIK code tests for symbols and punctuations.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa 93b0080ba3 dinput/tests: Skip DIK code tests if the keyboard type doesn't match.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa b735a42f1c dinput/tests: Peek messages for the target window only.
This fixes "keyboard.c:365: Tests skipped: failed to queue keyboard event"
message on my Win10 PC (real hardware).
Since some thread messages and window messages, including IME related,
are observed on the thread, they sometimes confuse the message handler.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa 8001dda117 dinput: Return DIDEVTYPEKEYBOARD_JAPAN106 subtype when it is used.
For the further improvments, subtype is a member of SysKeyboardImpl structure.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa 937dcde349 dinput/tests: Add more tests for keyboard subtypes.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:02 +02:00
Akihiro Sagawa 75a2893fca dinput/tests: Use GET_DIDEVICE_SUBTYPE macro in keyboard type tests.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:02 +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
Józef Kucia 4b90a46e36 dinput/tests: Use GetModuleHandleA() instead of LoadLibraryA() (Coverity).
Signed-off-by: Józef Kucia <jkucia@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
Michael Stefaniuc 870a876773 dinput: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 19:44:26 +02:00
Zebediah Figura 3edbb2a4fd dinput: Notify the desktop window when device input is received.
Avoids letting the display go to sleep while a joystick is being used.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 20:26:12 +02:00
Michael Stefaniuc fb783bc636 dinput/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 11:41:59 +02:00
Dmitry Timoshkov 210cefd23d dinput/tests: Add some tests for DIK_ codes using different keyboard layouts.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-17 17:03:13 +02:00
Dmitry Timoshkov d341b0a86b dinput: The DIK_ key code should match the scan code.
This reverts commit 304ff3c728.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-17 17:03:13 +02: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
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
Zebediah Figura 51895145fd dinput/tests: Don't pump messages in test_acquire().
This causes intermittent failures due to implementation of our window drivers.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-06 11:13:16 +01:00
Zebediah Figura 58abb3518c dinput/tests: Remove a no longer needed workaround.
This was fixed by 41ce4a0158.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-06 10:55:16 +01:00
Fabian Maurer 49fdde1cdd dinput: Use proper size for combobox controls.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 18:55:33 +02:00
Bruno Jesus b50d1fa314 dinput: Limit axes while remaping broken devices.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-13 20:56:19 +02:00
Bruno Jesus e87ccb8b05 dinput: Assume a 1-to-1 axes map when no axes match.
The wiimote is a well known problematic device, mainly because it is not
a joystick. It is a USB device. But the classic controller is at least
advertised as a joystick with 6 axes and 11 buttons (js driver only, NO
event).

Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 21:51:40 +02:00
Jetro Jormalainen 41b126b5fc dinput: Handle username in EnumDevicesBySemantics.
EnumDevicesBySemantics enums only devices with given username when
DIEDBSFL_THISUSER is set and only unowned devices when
DIEDBSFL_AVAILABLEDEVICES is set.

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
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
Sebastian Lackner f9b4be5556 dinput: Allocate correct amount of memory in IDirectInput8AImpl_EnumDevicesBySemantics.
Fixes 04bddb6c93.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 18:50:13 +01:00
Jetro Jormalainen 04bddb6c93 dinput: Give correct count of devices still to be enumerated.
EnumDevicesBySemantics should give count of all devices instead of
just keyboard and mouse still to be enumerated when calling callback.

Signed-off-by: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 19:38:07 +01:00
Bruno Jesus 5e59d093a2 dinput/tests: Add tests for DISFFC_STOPALL, DISFFC_RESET and GetEffectStatus.
Requires a FF-enabled joystick to test.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 13:05:44 +01:00
Bruno Jesus 8339de07ca dinput: Simplify JoystickWImpl_Unacquire for Linux.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 13:05:40 +01:00
Bruno Jesus 27f456844b dinput: DISFFC_RESET will not release the effects.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 13:05:36 +01:00
Bruno Jesus 2d2d833248 dinput: Downgrade a FIXME to WARN in JoystickWImpl_SendForceFeedbackCommand.
All valid commands are already there, anything else is an app bug.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 13:05:28 +01:00
Bruno Jesus cc373223b0 dinput: Fix GetEffectStatus for Linux when effect was not downloaded.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 13:05:23 +01:00
Bruno Jesus 6bb2c4cded dinput: Skip events that are not useful currently.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 11:14:38 +01:00
Francois Gouget 49d42619fe dinput: Spelling and case fixes in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:15 +01:00
Bruno Jesus ab5ad7dc0b dinput: Improve linux effect debugging.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:24:13 +09:00
Bruno Jesus 5ab0126f1d dinput: Fix phase conversion on periodic effects.
Based on idea by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:24:08 +09:00
Sebastian Lackner 2a5f05e316 dinput: Use variable of correct type to store HRESULT value.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 22:41:03 +09:00
Bruno Jesus 80fca2d86d dinput: Remove trailing space from debug string.
Spotted by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 12:47:57 +09:00
Bruno Jesus 0d17228ff9 dinput: Handle NULL effect envelope before testing its parameters.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 12:47:55 +09:00
Bruno Jesus f85e7d1716 dinput: Only complain for unsupported effect envelope if it really is useful.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:41:00 +09:00
Bruno Jesus 7027e9b268 dinput: Fix saturation range on condition effects.
Based on ideas by Elias Vanderstuyft.

The saturation is unsigned short, so the limit is 0xffff, not 0x7fff.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 10:40:06 +09:00
Bruno Jesus 4712c65f5b dinput: Simplify condition effect translation.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 10:40:02 +09:00
Bruno Jesus 4cf2ad9899 dinput: Don't give up if we can't translate the effect envelope.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 13:29:45 +09:00
Bruno Jesus 79b5883fce dinput: Simplify cartesian and fix polar direction calculations.
Based on formulas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 13:29:37 +09:00
Bruno Jesus d0070935e4 dinput: Fix infinite effect length handling.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 13:29:28 +09:00
Bruno Jesus 7d88a12dc0 dinput: Fix calculation of too small periods for periodic effect.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 13:29:16 +09:00
Bruno Jesus 777ca90601 dinput: Dump the condition effect correctly for 2 array items.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-24 12:06:35 +09:00
Bruno Jesus 97b5862e48 dinput/tests: Use EnumEffects and test a supported effect.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-24 12:06:28 +09:00
Bruno Jesus 4d816bdbcd dinput: Restore effect ID on error due to kernel < 3.14 bug.
Based on ideas by Elias Vanderstuyft

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 12:18:08 +09:00
Bruno Jesus 327897992b dinput: Do not read/write past the struct for old DX versions.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 12:17:57 +09:00
Bruno Jesus 844a25ab38 dinput: Be more precise when returning effect upload errors.
Based on ideas by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 12:17:51 +09:00
Bruno Jesus c7e6b4fbec dinput: Dump the force feedback effect before upload.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 12:17:38 +09:00
Nikolay Sivov 3605cde8ea dinput: Explicitly check for -1 as open() failure code.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-23 12:17:26 +09:00
Bruno Jesus 6b44c4f5cc dinput: Get the controller type from the device instance for Linux drivers.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 12:40:58 +09:00
Bruno Jesus 4cc193bba5 dinput: Dump the DIOBJECTDATAFORMAT flags.
Useful to check if the controller is asking for a specifc
DIDOI_POSITION* type axis.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 12:40:46 +09: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
Bruno Jesus e8273ae497 dinput: Cope with NULL flags in LinuxInputEffectImpl_GetEffectStatus.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 16:14:30 +09:00
Bruno Jesus 44303b6625 dinput: Implement DIPROP_PRODUCTNAME in GetProperty.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 16:14:30 +09:00
Bruno Jesus 299a6ce5bb dinput: Use the correct index to remap the axis.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:12 +09:00
Bruno Jesus 4f545cb627 dinput: Properly debug DIDEVTYPE_HID in _dump_DIDEVCAPS.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 14:02:05 +09:00
Bruno Jesus 30ae735425 dinput: Properly fill the HID information for the controller in the event driver.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 12:00:33 +09:00
Bruno Jesus dd7b65730d dinput: Implement GetDeviceInfo(A) using the W version in the event driver.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 12:00:31 +09:00
Bruno Jesus 738e17b2d7 dinput: Properly fill the HID information for the controller in the js driver.
Even the Xbox 360 controller which does not use HID has the same flags
and usage page set on Windows.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 13:17:54 +09:00
Bruno Jesus cfd3076c31 dinput: Implement GetDeviceInfo(A) using the W version in the js driver.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 13:17:54 +09:00
Bruno Jesus 7439f7948c dinput: Use a helper to read information files for the js device.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 13:17:54 +09:00
Bruno Jesus 03181015c3 dinput/tests: Test for DIDOI_ASPECTPOSITION on joystick axes.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:54:03 +09:00
Andrew Church 5ce8a1a91b dinput: Report DIDOI_ASPECTPOSITION flag for axes objects.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:53:57 +09:00
Bruno Jesus 58937117fb dinput: Add support for DIPROP_VIDPID property in Linux js implementation.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:56:31 +09:00
Bruno Jesus f1b782bfc8 dinput/tests: Improve controller debug information.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:56:23 +09:00
Bruno Jesus e3b783174d dinput: Add DirectInput8 device type names to debug.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:56:09 +09:00
Bruno Jesus 63284bf9b5 dinput: Fix some debug output.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:39 +09:00
Michael Stefaniuc a516c0aa38 dinput/tests: Make use of todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:14:26 -05:00
Nikolay Sivov b610e422b3 dinput: Fix its vs it's typo.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:19 -05:00
Corentin Rossignon 081930e70b dinput: Fix product GUID generation in Linux joystick and event API.
Signed-off-by: Corentin Rossignon <corossig@gmail.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 14:28:37 +09:00
Corentin Rossignon 4f01bcb85f dinput: Retrieve vendor ID and product ID in Linux joystick API.
Signed-off-by: Corentin Rossignon <corossig@gmail.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 14:28:24 +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
Andrey Gusev 3321a7faec dinput: Fix a typo in WARN() messages.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 20:26:18 +09: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 adb39b8fde dinput: Make ff_effect_direction_to_rad() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 22:23:42 +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
Andrew Eikum 9934124917 dinput: Fix condition effect joystick offset calculation.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-15 10:14:57 +09:00
Charles Davis 4dba8a4e27 dinput: Don't define a debug channel when it isn't used.
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-18 00:22:04 +09:00
Bernhard Übelacker dd08ef4063 dinput: Fail in SetCooperativeLevel on invalid hwnd.
MotoGP 3 demo fails to accept key presses to control the driver.
The game calls SetCooperativeLevel twice. First with an invalid hwnd
(but not NULL) and later with the real hwnd.

Signed-off-by: Bernhard Übelacker <bernhardu@vr-web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 13:25:31 +09:00
Thomas Faber 805473dec7 dinput: Implement MSVC version of enum_callback_wrapper.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:10 +09:00
Hugh McMaster 11669fa5e2 Assorted spelling and grammar fixes.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-17 22:56:40 +09:00
Andrew Nguyen 6566cd76ce dinput: Allow EnumDevices callback functions with broken calling conventions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-16 17:21:26 +09: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
Alexandre Julliard cc0420ac31 makefiles: Get rid of the obsolete IMPLIB_SRCS variable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 17:23:03 +09:00
Huw Davies 4b110f7554 dinput/tests: Send a matching key-up event.
The user32 msg tests are failing (more than normal) as they still see 'Q' in the down state.
2015-05-22 18:04:28 +09:00
Sebastian Lackner 0d91274def dinput: Reset device state in SysKeyboard*Impl_Acquire. 2015-05-18 19:59:28 +09:00
Aric Stewart 3d30db2248 dinput: Add JoystickID to the Instance Name. 2015-04-08 23:34:15 +09:00
André Hentschel 765abb771f dinput/tests: Avoid assigning values twice (PVS-Studio). 2015-03-20 12:41:44 +09:00
Francois Gouget f505e6fb4a Assorted spelling fixes. 2015-03-19 21:54:14 +09:00
Francois Gouget 128a86f0b0 dinput: IDirectInputDevice8WImpl_SetActionMap() is redundant so remove it. 2015-03-02 13:50:27 +09:00
Alexandre Julliard 93f40b2ecc dinput: Implement GetDeviceInfo for Linux joystick. 2015-02-24 21:55:47 +09:00
Amine Khaldi bd58a7ca45 dinput/tests: Declare pDirectInputCreateEx in a MSVC compatible way. 2015-02-24 12:51:37 +09:00
André Hentschel c440168e53 dinput: Remove unused functions (Clang). 2014-11-25 19:49:40 +01:00
Bruno Jesus c257e8adf6 dinput: Fix device type dump. 2014-11-20 22:32:38 +09:00
Bruno Jesus 7e2f26d6fa dinput: Ensure variable is initialized when #define is not found (Cppcheck). 2014-11-04 13:31:59 +09:00
Bruno Jesus 1242417d13 dinput/tests: Release the instance after tests (valgrind). 2014-07-14 17:22:45 +02:00
Bruno Jesus e011307244 dinput: Remove duplicated TRACE check. 2014-04-25 10:16:51 +02: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
Andrey Gusev add85f4687 Assorted typos fixes. 2014-02-12 19:15:32 +01:00
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard d08ff3ff19 makefiles: Use a single variable for all types of idl files. 2013-12-31 18:15:17 +01:00
Alexandre Julliard 4f3d71cef3 makefiles: Get rid of the no longer used PO_SRCS variables. 2013-12-15 10:23:04 +01:00
Andrew Eikum 46cb582a71 dinput: Fix logging typos. 2013-12-12 12:07:08 +01:00
Austin English bfafb1ffc5 dinput: Consistently use GetCurrentTime(). 2013-12-11 16:26:01 +01:00
Alexandre Julliard fe946f253a makefiles: Add a makedep pragma to mark source files that are parts of the import library. 2013-11-11 11:46:21 +01:00
Frédéric Delanoy 84fb23f476 dinput: Use BOOL type where appropriate. 2013-11-08 12:46:21 +01:00
Alexandre Julliard 5756ee09f3 makefiles: Add makedep pragmas for rc files that contain translations. 2013-11-05 20:38:19 +01:00
Alexandre Julliard c7803b885b makefiles: Add makedep pragmas for registration idl files. 2013-11-05 20:38:18 +01:00
Andrew Eikum 3486a35ad8 dinput: Fix copy-paste typo. 2013-11-01 20:01:30 +01:00
Michael Stefaniuc 9a263e58fd dinput/tests: Compile with -D__WINESRC__. 2013-10-30 09:42:10 +01:00
Frédéric Delanoy b95272e2d5 dinput: Use BOOL type where appropriate. 2013-10-08 09:09:13 +02:00
Frédéric Delanoy 25f3356906 dinput: Use BOOL type where appropriate. 2013-10-04 12:46:26 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
André Hentschel c5e9479b85 dinput: Don't use autoheader styled define. 2013-06-18 12:57:44 +02:00
Gurmail Bassi c34b7b1313 dinput: Use a properly initialized format in SetProperty. 2013-06-05 20:30:56 +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
Alexandre Julliard d15aee92f2 dinput: Don't bother to delete critical sections at process exit. 2013-05-16 12:53:07 +02:00
Marcus Meissner 8990cf091d dinput: GetKeyNameW takes chars not bytes (Coverity). 2013-05-13 11:07:24 +02:00
Gurmail Bassi 37169522f6 dinput: Update existing joystick values after setting the range property. 2013-04-16 15:10:30 +02:00
Lucas Zawacki 45a19b0c9b dinput: Initialize all axis (from 0 to ABS_MAX) with -1. 2013-03-25 16:24:30 +01:00
Michael Stefaniuc ab542a92d5 dinput: Use assignment instead of memcpy to copy a struct. 2013-01-24 15:38:46 +01:00
Eric Pouech d1ccbceb4d Various background processes must be launched detached from current console (if any). 2013-01-16 14:02:55 +01:00
Andrew Talbot 6eecf4886f dinput: Avoid signed-unsigned integer comparisons. 2013-01-15 12:13:53 +01:00
Christian Costa 6d62cc1212 dinput: Replace FIXMEs by TRACEs in dump function. 2012-10-15 15:25:23 +02:00
Lucas Zawacki 478f0b6691 dinput: Implement DIPROP_INSTANCENAME for joystick. 2012-10-11 20:22:09 +02:00
Lucas Zawacki 913cbb9f21 dinput/tests: Test for DIPROP_INSTANCENAME and DIPROP_GUIDANDPATH. 2012-10-11 20:22:02 +02:00
Marcus Meissner 1c3b1c3fec dinput: Added a missing close(fd) in disabled case (Coverity). 2012-09-17 12:05:40 +02:00
Francois Gouget b8050f0571 Assorted spelling fixes. 2012-09-04 16:15:52 +02:00
Marcus Meissner 439605634e dinput: No need for null ptr check of pKeyboard. 2012-09-03 17:43:38 +02:00
Marcus Meissner e10a658c0c dinput: Added some missing free/close in disabled case (Coverity). 2012-09-03 15:49:39 +02:00
Lucas Zawacki d5e9cedaf5 dinput: BuildActionMap should not fail if mapping has no pre-stored settings. 2012-08-28 14:41:04 +02:00
Gerald Pfeifer 7432949693 dinput: Fix incorrect check in device_disabled_registry. 2012-08-27 11:31:12 +02:00
Lucas Zawacki af1dcde288 dinput: SetActionMap saving mappings. 2012-08-27 11:13:15 +02:00
Lucas Zawacki 3da6f1754e dinput: Disable linuxinput or linux joysticks based on registry key. 2012-08-24 11:19:38 +02:00
Lucas Zawacki 8bfb125617 dinput: Append driver name to dinput joysticks on Linux. 2012-08-24 11:16:53 +02:00
Lucas Zawacki ac9a10f815 dinput: Return a valid keyboard type in keyboard GetCapabilities. 2012-08-20 14:59:45 +02:00
Lucas Zawacki 5b3ccdf04a dinput/tests: Test for keyboard GetCapabilities. 2012-08-20 14:59:38 +02:00
Lucas Zawacki e8f808a607 dinput: Semi-stub for IDirectInputJoyConfig8_GetConfig. 2012-08-14 12:01:10 +02:00
Lucas Zawacki dbc10ef937 dinput/tests: Tests for IDirectInputJoyConfig8_GetConfig. 2012-08-14 12:01:06 +02:00
Francois Gouget 6333fa753a Assorted spelling fixes. 2012-07-03 12:03:29 +02:00
Lucas Zawacki e3d243861c dinput/tests: Added a test for DIPROP_JOYSTICKID. 2012-05-30 11:32:25 +02:00
Lucas Zawacki 2cd3b908ad dinput: Implement GetProperty for JOYSTICKID (LinuxInput driver). 2012-05-30 11:31:55 +02:00
Lucas Zawacki fbfdc6db65 dinput: Implement GetProperty for JOYSTICKID (Linux driver). 2012-05-30 11:31:49 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Lucas Zawacki 706d9df8d9 dinput: Don't trace DIEFFECT members if they don't contain valid data. 2012-04-11 18:15:57 +02:00
Dmitry Timoshkov 1a61dcc25d dinput: Use standard way for dumping POINT. 2012-03-27 11:38:11 +02:00
Lucas Zawacki 146176cc38 dinput: Correct wrong loop delimiter in diactionformat_priority. 2012-03-26 18:15:04 +02:00
Lucas Zawacki 07f583478e dinput: Search for device objects of the correct type in BuildActionMap. 2012-02-29 10:21:54 +01:00
Alexandre Julliard 011a3523aa dinput: Filter out mouse wheel messages in exclusive mode. 2012-02-15 19:17:36 +01:00
Marcel Hasler c47677fee5 dinput: Support INFINITE as number of effect iterations. 2012-02-02 09:55:47 +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
Francois Gouget c7cb3e6cb2 configure: Use errno.h instead of the non-standard sys/errno.h header. 2011-12-15 17:46:38 +01:00
Frédéric Delanoy 7f476a2392 dinput: Clarify a translatable string. 2011-12-05 17:55:20 +01:00
Vitaliy Margolen 7260132c5d dinput: Fix device enumeration by DX8 device type. 2011-12-02 12:15:35 +01:00
Alexandre Julliard af48498911 dinput: Convert dialogs to po files. 2011-11-30 18:20:32 +01:00
Vitaliy Margolen 699da40d1b dinput: Add more error checking to IDirectInput_GetDeviceStatus. 2011-11-29 14:04:25 +01:00
Vitaliy Margolen 310859db67 dinput: Add more parameter checking to enum devices. 2011-11-29 14:04:20 +01:00
Vitaliy Margolen a84d2fe20e dinput: Stub IDirectInputJoyConfig8 interface. 2011-11-29 14:04:01 +01:00
Francois Gouget f005fab082 dinput: Remove an unused and untranslatable listview label.
Spotted by Luca Bennati.
2011-11-21 13:07:17 +01:00
Francois Gouget 4ed24cd5f5 dinput: Delete the static critical section when unloading the dll. 2011-11-16 17:02:39 +01:00
Andrew Talbot f3d0c715a3 dinput: Remove unused Wine debug channel. 2011-11-14 15:25:21 +01:00
Andrew Talbot bf3d67c460 dinput: Qualify use of WINE_DEFAULT_DEBUG_CHANNEL. 2011-11-14 15:25:21 +01:00
Vitaliy Margolen 5bb094c9a2 dinput: Return correct key names for num_lock and pause.
Scan codes and DIK codes for num_lock and pause are reversed.
2011-11-09 11:54:25 +01:00
Vitaliy Margolen 8c5a440144 dinput: Window supplied to SetCooperativeLevel have to be top level window. 2011-11-02 12:36:11 +01:00