touchpad: Add a tp_post_pointer_motion helper function
authorHans de Goede <hdegoede@redhat.com>
Tue, 9 Dec 2014 11:47:09 +0000 (12:47 +0100)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 17 Dec 2014 06:20:09 +0000 (16:20 +1000)
Split out the pointer-motion handling into a helper function.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/evdev-mt-touchpad.c

index 32d6eaca84e79ea384b7d9b5c5b34189934e3c40..f6a8a89961b13daffb777bb4e34b6f3afa9bb84a 100644 (file)
@@ -586,32 +586,13 @@ tp_post_process_state(struct tp_dispatch *tp, uint64_t time)
        tp->queued = TOUCHPAD_EVENT_NONE;
 }
 
-
 static void
-tp_post_events(struct tp_dispatch *tp, uint64_t time)
+tp_post_pointer_motion(struct tp_dispatch *tp, uint64_t time)
 {
        struct tp_touch *t = tp_current_touch(tp);
        double dx, dy;
-       int filter_motion = 0;
        double dx_unaccel, dy_unaccel;
 
-       /* Only post (top) button events while suspended */
-       if (tp->device->suspended) {
-               tp_post_button_events(tp, time);
-               return;
-       }
-
-       filter_motion |= tp_tap_handle_state(tp, time);
-       filter_motion |= tp_post_button_events(tp, time);
-
-       if (filter_motion || tp->sendevents.trackpoint_active) {
-               tp_stop_scroll_events(tp, time);
-               return;
-       }
-
-       if (tp_post_scroll_events(tp, time) != 0)
-               return;
-
        if (!t->is_pointer) {
                tp_for_each_touch(tp, t) {
                        if (t->is_pointer)
@@ -633,6 +614,31 @@ tp_post_events(struct tp_dispatch *tp, uint64_t time)
        }
 }
 
+static void
+tp_post_events(struct tp_dispatch *tp, uint64_t time)
+{
+       int filter_motion = 0;
+
+       /* Only post (top) button events while suspended */
+       if (tp->device->suspended) {
+               tp_post_button_events(tp, time);
+               return;
+       }
+
+       filter_motion |= tp_tap_handle_state(tp, time);
+       filter_motion |= tp_post_button_events(tp, time);
+
+       if (filter_motion || tp->sendevents.trackpoint_active) {
+               tp_stop_scroll_events(tp, time);
+               return;
+       }
+
+       if (tp_post_scroll_events(tp, time) != 0)
+               return;
+
+       tp_post_pointer_motion(tp, time);
+}
+
 static void
 tp_handle_state(struct tp_dispatch *tp,
                uint64_t time)