Rémi Bernon
98e6b744e5
dinput: Dynamically allocate the internal device / event arrays.
2024-05-21 20:47:11 +02:00
Alex Henrie
08dae8afcc
dinput: Don't include every version of DirectInputCreate in every DLL.
...
DirectInputCreate(A|W|Ex) is only needed in dinput.dll, and
DirectInput8Create is only needed in dinput8.dll. Excluding the
unnecessary functions reduces the size of each DLL by about 4 KB.
2024-05-14 18:07:52 +02:00
Rémi Bernon
b053e924e8
server: Process internal messages when checking queue status.
2024-03-21 22:19:58 +01:00
Rémi Bernon
d8b8ac85eb
server: Generate WM_POINTERENTER / WM_POINTERLEAVE messages.
2024-03-06 19:20:09 +01:00
Rémi Bernon
c9ffab4602
win32u: Add support for sending and receiving WM_POINTER* messages.
2024-03-05 20:50:07 +01:00
Rémi Bernon
61d1c18957
server: Add support for sending and receiving WM_POINTER* messages.
2024-03-05 20:50:07 +01:00
Rémi Bernon
13f908b9b5
dinput/tests: Test the WM_POINTER* message parameter values.
2024-03-05 20:50:07 +01:00
Rémi Bernon
9591a36ee8
server: Dispatch rawinput messages using the rawinput process list.
2024-02-28 19:51:20 +01:00
Rémi Bernon
74bf784b29
server: Use the startup info to connect the process winstation.
...
This changes the todos in the tests as it fixes the thread input not
being attached, but then exposes a different todo.
2024-02-23 17:11:00 +01:00
Paul Gofman
a485f6b4a3
dinput: Force debug info in critical sections.
2024-02-21 22:30:03 +01:00
Zebediah Figura
a97a4af0dd
dinput/tests: Return void from test_winmm_joystick().
2024-02-16 11:36:45 +01:00
Rémi Bernon
a05b67b7e5
mouhid.sys: Request preparsed data and inspect device caps.
2024-02-14 19:19:32 +01:00
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