If more than 255 tests fail, we're returning an exit code outside of the POSIX
standard. This only takes effect for -j1, where we fork off we only ever have
a failed value of 1 anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Running the test suite runner is good, but not sufficient, a full ninja test
is required to get the full coverage.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Draw a second smaller scroll bar that moves with every discrete step. For that
to work, we have to accumulate the value from the normal scroll events until
we get the first discrete one, then move up.
The value per discrete event changes depending on the click wheel angle, so we
can't just use discrete on its own if we want the two scroll bars aligned.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
When exiting RELEASE_DELAYED state, do not transition into states to detect
the need for spurious mode (RELEASE_WAITING, MAYBE_SPURIOUS).
RELEASE_DELAYED is only entered when spurious mode is enabled, there is no
need to detect the need for spurious mode again.
When using button scrolling, a hardcoded delay of 200 milliseconds between
button down and scroll events being emitted makes fast scrolling gestures feel
clunky and sometimes fail entirely. This feature comes from
xf86-input-mouse, was copied into xf86-input-evdev and reimplemented in
libinput.
This was, as far as can be determined, to allow right clicks without
triggering scrolling. libinput now also has distance triggers (2bbf4a0117)
and sends button events if no movement has happened for long clicks,
regardless of the delay.
The 200ms delay is thus not really necessary anymore, let's drop it to 38ms
which is just above the 3-event threshold for 8/10/12ms intervals which is
most devices.
Fixes#237
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
When the loop was reduced to BTN_DIGI only, it guaranteed that the BTN_STYLUS
condition was no longer met.
Found by coverity
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The latter has more obvious handling of hwdb matches. With udevadm hwdb a glob
may take precedence over a hwdb entry even if the latter is sorted later.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
These numbers just happened to add up correctly for the motion history to
produce a zero delta for a diagonal movement. Fix it by adding extra events to
flush out any motion history leftovers.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This test had a loop around the proximity events, so in theory we could've
sent two proximity-in events and still get a positive test.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The totem, also a tablet tool, is a tool that is always tip-down and does not
support hovering so we need to be able to distinguish this for tests.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The Dell Canvas Totem only has the MT axes but not the single touch ones. Make
sure we copy the axis extents correctly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
On the Dell Canvas Totem, the tool will cancel existing touch points and to
visually debug that, we need the touchpoints to be drawn over the tool.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Buttons that aren't lmr are drawn in a separate button square now with the
name as it comes from the kernel. This only handles one button at a time, but
it'll do for debugging.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The old one is deprecated (and removed), new one is archlinux/base which also
now requires the diffutils package.
The new one apparently doesn't come with /var/cache/pacman/pkg and it's
not created, so pacman clean exits with an error, breaking the build.
Simply create that directory and everything is hunky, though dory remains
elusive.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
When the touch arbitration is reset to ARBITRATION_NOT_ACTIVE, the proximity
timer is set for 90ms to avoid erroneous touches (see 2a378beab for the
reason).
If the device is removed within those 90ms, the timer is never cancelled,
leading to an assert on cleanup.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Regression introduced in 99bb0ee7cb,
HAVE_LOCALE_H isn't defined by default, we need to set it manually.
Reported-by: Pascal Kockwelp
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>