On Tue, Mar 25, 2014 at 09:45:56PM +0100, Jonas Ådahl wrote: > Signed-off-by: Jonas Ådahl <jad...@gmail.com> > --- > test/touch.c | 43 +++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/test/touch.c b/test/touch.c > index 61d8762..4a6af21 100644 > --- a/test/touch.c > +++ b/test/touch.c > @@ -323,6 +323,47 @@ START_TEST(touch_many_slots) > } > END_TEST > > +START_TEST(touch_double_touch_down_up) > +{ > + struct libinput *libinput; > + struct litest_device *dev; > + struct libinput_event *ev; > + bool got_down = false; > + bool got_up = false; > + > + dev = litest_current_device(); > + libinput = dev->libinput; > + > + litest_touch_down(dev, 0, 0, 0); > + litest_touch_down(dev, 0, 0, 0);
with this the kernel will filter the coordinates. This only works because the tracking_id is automatically picked in touch_down. IMO it might be worth changing the coordinates here too. It has no real effect but it'll look more like two touchpoints and the evdev events will be more obvious to read too. Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> for the patches where I didn't complain about something :) Cheers, Peter > + litest_touch_up(dev, 0); > + litest_touch_up(dev, 0); > + > + libinput_dispatch(libinput); > + > + while ((ev = libinput_get_event(libinput))) { > + switch (libinput_event_get_type(ev)) { > + case LIBINPUT_EVENT_TOUCH_DOWN: > + ck_assert(!got_down); > + got_down = true; > + break; > + case LIBINPUT_EVENT_TOUCH_UP: > + ck_assert(got_down); > + ck_assert(!got_up); > + got_up = true; > + break; > + default: > + break; > + } > + > + libinput_dispatch(libinput); > + } > + > + ck_assert(got_down); > + ck_assert(got_up); > +} > +END_TEST > + > int > main(int argc, char **argv) > { > @@ -333,6 +374,8 @@ main(int argc, char **argv) > litest_add_no_device("touch:seat-slot-drop", touch_seat_slot_drop); > litest_add("touch:many-slots", touch_many_slots, > LITEST_TOUCH, LITEST_ANY); > + litest_add("touch:double-touch-down-up", touch_double_touch_down_up, > + LITEST_TOUCH, LITEST_ANY); > > return litest_run(argc, argv); > } > -- > 1.8.3.2 > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel