Observable issue before this change is that text extent does not match size
of ExtTextOutW() output. The fix is to shape text in similar way before measuring.
Individual extents returned in this case are arguably useless, they do not
match visual output order, and only give an idea on how much each input character
contributed to overall width. To match input character order all intra-line and
intra-item reordering is disabled.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5757
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