The first commits add some test infrastructure to be able check raw input keyboard events, along with a few tests relevant to the code paths in this MR. This MR also introduces support for checking async key state in tests.
For some fixes it was difficult to express the current Wine behavior with TODOs in the expected sequence, so tests for these were added along with the fix.
--
v3: server: Set VK_PACKET async state in raw input legacy mode.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5754
The first commit adds some test infrastructure to be able check raw input keyboard events, along with a few tests relevant to the code paths in this MR.
The second commit fixes raw input behavior with unicode inputs, and adds regression tests. Note that it was difficult to express the current Wine behavior with TODOs in the expected sequence, that's why I didn't introduce these regression tests independently.
--
v2: server: Set VK_PACKET async state in raw input legacy mode.
user32: Check async key state in raw nolegacy tests.
server: Don't send raw input events for unicode inputs.
server: Apply modifier vkey transformations regardless of unicode flag.
server: Use right-left modifier vkeys for hooks.
user32: Add tests for raw keyboard messages.
user32: Add more test for unicode input with vkey.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5754
This should help unifying the interface and get rid of the get_info callback.
Later, I think we could create bitmaps over sections shared with some DWM process and/or host compositor.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5764