[PATCH] dinput: Don't add 'default value 0' entries to the data transform.

Arkadiusz Hiler ahiler at codeweavers.com
Fri Jul 23 08:41:16 CDT 2021


On Tue, Jul 20, 2021 at 02:10:50PM +0200, Francois Gouget wrote:
> On Tue, 20 Jul 2021, Arkadiusz Hiler wrote:
> [...]
> > Yes. I am already looking into this + other flaky dinput tests that fail
> > in a similar way.
> 
> Thanks!
> 
> 
> > Turns out that on Windows dinput sometimes just drops key events injected
> > via SendInput() / keybd_event().
> 
> Is it all Windows versions? This one failure seemed to only happen on 
> one Windows 8.1 VM (but maybe the others just got lucky so far).

If run in a loop those tests fail (very rarely) for me on Win10 machine,
and I am fairly sure that I've seen failures on Win7 too.

Here's a related failure in a test that emits a lot of events for a
device with a smaller buffer to get DI_BUFFEROVERFLOW:

https://testbot.winehq.org/JobDetails.pl?Key=94396#k206

So some events have been missed.

> [...]
> > The only reliable solution seems to be checking if the device has
> > received any data via GetDeviceData(), and if we don't see any events
> > there then we can win_skip(). AFAIU it will fail under Wine but just
> > skip on Windows.
> 
> Yes. win_skip() skips on Windows and fails in Wine.

Turns out there are some test that already skip on Windows if injecting
events fails. That's from my Win 10:

device.c:106: Tests skipped: We're not able to inject input into Windows dinput8 with events

> > The tests would still have sporadic skips and I am not sure if this is
> > any better than sporadic failures. Do we track those? This also creates
> > room for breaking tests on Window without noticing...
> 
> We don't really track skips. They are reported on the test result pages 
> (they are the blue bars) but are not considered to be an issue as there 
> are many legitimate reasons for skipping a test (e.g. if the API is not 
> implemented, or if it tests a device which is not present).
> 
> https://test.winehq.org/data/d60c450c7be196c2072f74e34f7760d39e3bad32/index_Linux.html

Good to know. Thanks!

-- 
Cheers,
Arek



More information about the wine-devel mailing list