test: if we're hovering, don't send BTN_TOUCH
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 1 Dec 2015 23:48:01 +0000 (09:48 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 2 Dec 2015 21:34:55 +0000 (07:34 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
test/litest.c

index e235bc937921a38216aeac7cf13da6472f434787..ba3a308fc7c78088760af82fc2e272fafe890a90 100644 (file)
@@ -1317,9 +1317,9 @@ litest_auto_assign_value(struct litest_device *d,
 }
 
 static void
-send_btntool(struct litest_device *d)
+send_btntool(struct litest_device *d, bool hover)
 {
-       litest_event(d, EV_KEY, BTN_TOUCH, d->ntouches_down != 0);
+       litest_event(d, EV_KEY, BTN_TOUCH, d->ntouches_down != 0 && !hover);
        litest_event(d, EV_KEY, BTN_TOOL_FINGER, d->ntouches_down == 1);
        litest_event(d, EV_KEY, BTN_TOOL_DOUBLETAP, d->ntouches_down == 2);
        litest_event(d, EV_KEY, BTN_TOOL_TRIPLETAP, d->ntouches_down == 3);
@@ -1340,7 +1340,7 @@ litest_slot_start(struct litest_device *d,
        assert(d->ntouches_down >= 0);
        d->ntouches_down++;
 
-       send_btntool(d);
+       send_btntool(d, !touching);
 
        if (d->interface->touch_down) {
                d->interface->touch_down(d, slot, x, y);
@@ -1395,7 +1395,7 @@ litest_touch_up(struct litest_device *d, unsigned int slot)
        litest_assert_int_gt(d->ntouches_down, 0);
        d->ntouches_down--;
 
-       send_btntool(d);
+       send_btntool(d, false);
 
        if (d->interface->touch_up) {
                d->interface->touch_up(d, slot);
@@ -1559,7 +1559,7 @@ litest_hover_end(struct litest_device *d, unsigned int slot)
        litest_assert_int_gt(d->ntouches_down, 0);
        d->ntouches_down--;
 
-       send_btntool(d);
+       send_btntool(d, true);
 
        if (d->interface->touch_up) {
                d->interface->touch_up(d, slot);