On 8/3/21 12:59 PM, Arkadiusz Hiler wrote:
On Windows dinput sometimes ignores injected input events, so let's make sure that the event was registered by checking buffered data for the device.
Signed-off-by: Arkadiusz Hiler ahiler@codeweavers.com
This series supersedes 210326, 210148, 210147 and 210146.
In this revision I use the _DX3 variant of structure for old dinput tests. Thanks Rémi!
Are the injected events really ignored? This seems more like a timing problem, where Acquire operates asynchronously and misses some events when they are injected quickly after?
As far as I can tell, Wine's implementation is synchronous when acquiring a device, and we wait for the background thread to complete the hooking (or rawinput device registration), but maybe native isn't.
Wouldn't it be better to wait for injected events to be received after acquiring the device instead of skipping the tests completely?