src/evdev-mt-touchpad.c
static inline void
tp_end_touch(struct tp_dispatch *tp, struct tp_touch *t, uint64_t time)
{
	if (t->state != TOUCH_MAYBE_END) {
		evdev_log_bug_libinput(tp->device,
				       "touch %d should be MAYBE_END, is %d\n",
				       t->index,
				       t->state);
		return;
	}

	t->dirty = true;
	t->palm.state = PALM_NONE;
	t->state = TOUCH_END;
	t->pinned.is_pinned = false;
	t->time = time;
	t->palm.time = 0;
	t->speed.exceeded_count = 0;
	tp->queued |= TOUCHPAD_EVENT_MOTION;
}
/**
 * End a touch, even if the touch sequence is still active.
 * Use tp_maybe_end_touch() instead.
 */
End a touch, even if the touch sequence is still active.
End a touch even if the touch sequence is still active .
static inline void
tp_end_touch(struct tp_dispatch *tp, struct tp_touch *t, uint64_t time)
{
	if (t->state != TOUCH_MAYBE_END) {
		evdev_log_bug_libinput(tp->device,
				       "touch %d should be MAYBE_END, is %d\n",
				       t->index,
				       t->state);
		return;
	}
	t->dirty = true;
	t->palm.state = PALM_NONE;
	t->state = TOUCH_END;
	t->pinned.is_pinned = false;
	t->time = time;
	t->palm.time = 0;
	t->speed.exceeded_count = 0;
	tp->queued |= TOUCHPAD_EVENT_MOTION;
}
static inline void tp_end_touch ( struct tp_dispatch * tp , struct tp_touch * t , uint64_t time ) { if ( t -> state != TOUCH_MAYBE_END ) { evdev_log_bug_libinput ( tp -> device , " \n " , t -> index , t -> state ) ; return ; } t -> dirty = true ; t -> palm . state = PALM_NONE ; t -> state = TOUCH_END ; t -> pinned . is_pinned = false ; t -> time = time ; t -> palm . time = 0 ; t -> speed . exceeded_count = 0 ; tp -> queued |= TOUCHPAD_EVENT_MOTION ; }
End a touch, even if the touch sequence is still active.
End a touch even if the touch sequence is still active .