From 62ca64fe2e64d1ee09c4821a35d8616c0ac0e270 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Tue, 21 Sep 2010 09:57:48 +0200 Subject: Move input event filter from tail side to head side There is no need to buffer events that will be ignored later on, so move the event filter to the upstream side. This also allows the event buffer to be used for injected events. Signed-off-by: Henrik Rydberg --- src/grail-api.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/grail-api.c b/src/grail-api.c index 0673120..9503889 100644 --- a/src/grail-api.c +++ b/src/grail-api.c @@ -40,14 +40,7 @@ static void tp_event(struct touch_dev *dev, x->pointer_x = ev->value; if (ev->code == ABS_Y) x->pointer_y = ev->value; - } - evbuf_put(&x->evbuf, ev); -} - -static int extra_filtered(const struct input_event *ev) -{ - if (ev->type == EV_ABS) { - return 1; + return; } if (ev->type == EV_KEY) { switch (ev->code) { @@ -56,10 +49,10 @@ static int extra_filtered(const struct input_event *ev) case BTN_TOOL_DOUBLETAP: case BTN_TOOL_TRIPLETAP: case BTN_TOOL_QUADTAP: - return 1; + return; } } - return 0; + evbuf_put(&x->evbuf, ev); } static int handle_abs_events(struct grail *ge, @@ -123,8 +116,6 @@ static void tp_sync(struct touch_dev *dev, nevent += handle_abs_events(ge, syn, pointer); while (!evbuf_empty(&impl->evbuf)) { evbuf_get(&impl->evbuf, &ev); - if (extra_filtered(&ev)) - continue; ge->event(ge, &ev); nevent++; } -- cgit v1.2.3