Commit Graph

131 Commits (0aceab5884ec31f16e09b47f5363aa399e82892e)

Author SHA1 Message Date
Alistair Leslie-Hughes b37845dbcc 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>
(cherry picked from commit 8d05256172)
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
2020-04-08 23:31:16 +02:00
Alistair Leslie-Hughes 20f2d0726b 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>
(cherry picked from commit fe4db5309e)
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
2019-08-14 22:34:26 +02: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
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
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
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
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
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
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
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 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 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 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 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
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
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
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
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
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
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
André Hentschel 765abb771f dinput/tests: Avoid assigning values twice (PVS-Studio). 2015-03-20 12:41:44 +09:00
Amine Khaldi bd58a7ca45 dinput/tests: Declare pDirectInputCreateEx in a MSVC compatible way. 2015-02-24 12:51:37 +09:00
Bruno Jesus 1242417d13 dinput/tests: Release the instance after tests (valgrind). 2014-07-14 17:22:45 +02:00
Andrey Gusev add85f4687 Assorted typos fixes. 2014-02-12 19:15:32 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Michael Stefaniuc 9a263e58fd dinput/tests: Compile with -D__WINESRC__. 2013-10-30 09:42:10 +01:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Lucas Zawacki 913cbb9f21 dinput/tests: Test for DIPROP_INSTANCENAME and DIPROP_GUIDANDPATH. 2012-10-11 20:22:02 +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
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
Lucas Zawacki e3d243861c dinput/tests: Added a test for DIPROP_JOYSTICKID. 2012-05-30 11:32:25 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02: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