Commit graph

1499 commits

Author SHA1 Message Date
Rémi Bernon
303717f45f dinput/tests: Test rawinput with the virtual HID touchscreen. 2024-02-02 13:02:13 +01:00
Rémi Bernon
e3c61ba74c dinput/tests: Use a polled HID touchscreen device.
Looks like touches are automatically released if the device doesn't send
updates regularly.
2024-02-02 13:02:11 +01:00
Rémi Bernon
e25d23d5dc dinput/tests: Test rawinput messages with non-input desktop. 2024-02-02 13:02:11 +01:00
Rémi Bernon
5d7bf639e8 dinput/tests: Add more tests for HID rawinput buffer. 2024-02-02 13:02:11 +01:00
Rémi Bernon
bd2b89806a dinput/tests: Add a helper to wait on HID input reads. 2024-02-02 13:02:11 +01:00
Rémi Bernon
e2b637c8dc windows.gaming.input: Stub IRawGameController2 interface. 2024-01-24 12:17:35 +01:00
Rémi Bernon
3dce01a204 dinput/tests: Add some IRawGameController2 interface tests. 2024-01-24 12:17:35 +01:00
Rémi Bernon
dcfba0a2aa dinput/tests: Relax the mouse move count test.
It is prone to spurious failures and we don't really care about it
being precise yet.
2024-01-24 12:17:32 +01:00
Tyson Whitehead
9dc1ddf801 dinput: Implement DIPROP_AUTOCENTER.
Autocenter is a default effect playing on the device following power
up or reset. It is disabled by stopping all effects. On at least
some devices (all?) it is a spring effect playing in slot 1.
Capturing Windows USB packets reveals it dinput acquire does (1) a
reset (this enabled autocenter) and, if autocenter is disabled, (2)
a stop all effects (this disabled autocenter).

This logic works regardless of whether autocenter is a spring effect
playing in slot 1 or not. It does mean autocenter can only be set
when the device is not acquired. Testing on Windows reveals setting
autocenter properties while acquired returns DIERR_ACQUIRED even
if the device is exclusively acquired, so this is consistent.
2024-01-23 22:56:53 +01:00
Tyson Whitehead
63562c05f6 dinput/tests: Update tests for DIPROP_AUTOCENTER. 2024-01-23 22:56:53 +01:00
Rémi Bernon
96b823c2d4 dinput/tests: Differentiate missing from broken HID reports. 2024-01-23 22:56:53 +01:00
Rémi Bernon
4f95ad1ad1 dinput/tests: Add a test with a virtual HID touch screen. 2024-01-23 12:20:46 +01:00
Rémi Bernon
abee0d4502 dinput/tests: Add a test with a virtual HID keyboard. 2024-01-23 12:20:45 +01:00
Rémi Bernon
e2f2f680d4 dinput/tests: Add a test with a virtual HID mouse. 2024-01-23 12:20:45 +01:00
Rémi Bernon
3e79b8d6eb dinput/tests: Enforce ordering of concurrent read IRPs. 2024-01-23 12:20:45 +01:00
Rémi Bernon
e2dffb8eb0 dinput/tests: Introduce a new helper to create a foreground window. 2024-01-23 12:20:45 +01:00
Rémi Bernon
4885bdda95 dinput: Add a description to the dinput worker thread. 2024-01-18 18:08:48 +01:00
Rémi Bernon
ee51d536f0 dinput/tests: Make some failing keyboard test flaky_wine. 2024-01-17 10:57:55 +01:00
Paul Gofman
eaca0f44be include: Fix boolean return value definition in IIterator<T> methods. 2023-12-22 18:14:40 +01:00
Rémi Bernon
e98388b6a0 dinput/tests: Avoid calling UnloadKeyboardLayout.
This seems to later mess up with the preload keyboard list and
GetKeyboardLayoutNameW.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51478
2023-12-18 20:57:01 +01:00
Zebediah Figura
8c985449c3 winmm: Reimplement joystick axis mapping.
This should more closely match the algorithm used by native, discovered through
extensive manual testing.

This does not include any automated tests, both because I could not get winmm to
recognize a second plugged joystick, and (as I eventually discovered while
testing) the number of tests that would be necessary to conclusively prove this
algorithm turned out to be impractical.
2023-11-30 10:08:09 +01:00
Rémi Bernon
9d9d335716 dinput/tests: Use exotic axes ordering for winmm tests. 2023-11-30 10:08:08 +01:00
Alexandre Julliard
c432eac726 makefiles: Always use the global SOURCES variable for .idl files. 2023-11-01 22:43:50 +01:00
Rémi Bernon
9523dec573 dinput/tests: Report the driver success and skipped tests counters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55535
2023-09-07 22:28:30 +02:00
Alexandre Julliard
cfcf5ca286 makedep: Make the spec file optional for testdll resources. 2023-09-05 12:45:15 +02:00
Rémi Bernon
81da9ff0f8 makedep: Use #pragma makedep testdll for TESTDLL resources. 2023-09-05 12:44:34 +02:00
Rémi Bernon
509483356d dinput: Get rid of duplicated winetest helpers. 2023-08-31 19:53:16 +02:00
Paul Gofman
546f823ed1 dinput: Unregister raw input on foreground loss. 2023-08-31 11:28:49 +02:00
Alistair Leslie-Hughes
1b99f38bf3 dinput: Remove DECLSPEC_HIDDEN usage. 2023-08-01 21:45:01 +09:00
Rémi Bernon
4151acb4e8 dinput: Unacquire only DISCL_FOREGROUND devices on foreground changes.
Fixes broken input in Final Fantasy XIII after main window focus loss.
2023-07-27 13:12:06 +09:00
Alexandre Julliard
aa9aace5f3 dinput: Use nameless unions/structs. 2023-07-10 21:15:55 +02:00
Alistair Leslie-Hughes
f9bd79dce2 dinput: Remove DECLSPEC_HIDDEN usage. 2023-07-07 12:20:53 +02:00
Alexandre Julliard
93630ce14e include: Remove redundant __WINE_USE_MSVCRT checks. 2023-06-12 21:21:41 +02:00
Rémi Bernon
c0877844e7 windows.gaming.input: Query IGameController interface in TryGetFactoryControllerFromGameController. 2023-05-23 14:43:12 +02:00
Rémi Bernon
eab7b95bab dinput/tests: Test that FromGameController also works with IRawGameController. 2023-05-23 14:43:12 +02:00
Rémi Bernon
88a34c74b0 dinput: Delay input thread start until the first device acquire.
Some applications create a IDirectInput and IDirectInputDevice instance
from their DllMain procedure, and starting the thread on the first user
creation and waiting for it to start will deadlock on the loader lock.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54916
2023-05-22 11:10:07 +02:00
Rémi Bernon
cb7bb2284c dinput: Avoid remapping already mapped objects in BuildActionMap.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-22 11:10:07 +02:00
Rémi Bernon
df6bc20b90 dinput: Clear DIA_APPNOMAP BuildActionMap flag with specific device semantic.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
5b648e7e5d dinput: Reset action map mapping before loading the registry mapping.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
b95c820557 dinput: Delete the action mapping registry key on SetActionMap.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
bed1ecba2f dinput/tests: Add some tests with keyboard action mapping.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54917
2023-05-19 11:08:30 -05:00
Rémi Bernon
cbbb88f2b4 dinput/tests: Add a zero-terminator for hardware ids (Valgrind). 2023-05-16 08:04:39 -05:00
Rémi Bernon
dde9cef0ff dinput/tests: Avoid leaking data in add_file_to_catalog (Valgrind). 2023-05-15 06:09:54 -05:00
Rémi Bernon
fefc1e57d2 dinput/tests: Avoid leaking a IDirectInput reference (Valgrind). 2023-05-15 06:09:54 -05:00
Francois Gouget
089cfc7953 dinput/tests: Fix the spelling of an ok() message. 2023-04-07 17:10:41 +02:00
Rémi Bernon
3fad9cac5b dinput/tests: Mark some tests as flaky to work around fvwm bug.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54594
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54713
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54774
2023-04-06 14:32:33 +02:00
Florian Will
c5a58aed08 dinput/tests: Remove unmatched winetest_pop_context(). 2023-04-04 11:55:37 +02:00
Florian Will
ba889f2c4c dinput: Set guidType = GUID_Unknown for HID collections.
Fixes an issue in Zusi 3 where DIDFT_COLLECTION objects would be passed
to SetDataFormat.
2023-04-04 11:55:36 +02:00
Florian Will
4413356d19 dinput/tests: Add guidType test for collection objects. 2023-04-04 11:55:35 +02:00
Florian Will
dcb84a45f6 dinput: Fix EnumObjects callback return value handling.
This solves an issue in ZUSI 3 settings for DirectInput devices. Delphi
defines the True value of the "C-compatible" LongBool type as -1, which
wine interpreted to mean DIENUM_STOP because it is != DIENUM_CONTINUE.
Change that logic so only an explicit DIENUM_STOP (= 0) return value
stops the enumeration of objects.
2023-04-03 16:52:01 +02:00