Blame 0004-evdev-move-posting-a-trackpoint-scroll-event-into-a-.patch

Peter Hutterer 7eb3526
From f9503763adbaef8fc7220e2da782917cea8803ee Mon Sep 17 00:00:00 2001
Peter Hutterer 7eb3526
From: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 7eb3526
Date: Fri, 26 Jun 2015 09:27:20 +1000
Peter Hutterer 7eb3526
Subject: [PATCH libinput 4/9] evdev: move posting a trackpoint scroll event
Peter Hutterer 7eb3526
 into a helper
Peter Hutterer 7eb3526
Peter Hutterer 7eb3526
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 7eb3526
---
Peter Hutterer 7eb3526
 src/evdev.c | 27 +++++++++++++++++++--------
Peter Hutterer 7eb3526
 1 file changed, 19 insertions(+), 8 deletions(-)
Peter Hutterer 7eb3526
Peter Hutterer 7eb3526
diff --git a/src/evdev.c b/src/evdev.c
Peter Hutterer 7eb3526
index 67843db..b2595d4 100644
Peter Hutterer 7eb3526
--- a/src/evdev.c
Peter Hutterer 7eb3526
+++ b/src/evdev.c
Peter Hutterer 7eb3526
@@ -253,6 +253,23 @@ normalize_delta(struct evdev_device *device,
Peter Hutterer 7eb3526
 	normalized->y = delta->y * DEFAULT_MOUSE_DPI / (double)device->dpi;
Peter Hutterer 7eb3526
 }
Peter Hutterer 7eb3526
 
Peter Hutterer 7eb3526
+static inline bool
Peter Hutterer 7eb3526
+evdev_post_trackpoint_scroll(struct evdev_device *device,
Peter Hutterer 7eb3526
+			     struct normalized_coords unaccel,
Peter Hutterer 7eb3526
+			     uint64_t time)
Peter Hutterer 7eb3526
+{
Peter Hutterer 7eb3526
+	if (device->scroll.method != LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN ||
Peter Hutterer 7eb3526
+	    !hw_is_key_down(device, device->scroll.button))
Peter Hutterer 7eb3526
+		return false;
Peter Hutterer 7eb3526
+
Peter Hutterer 7eb3526
+	if (device->scroll.button_scroll_active)
Peter Hutterer 7eb3526
+		evdev_post_scroll(device, time,
Peter Hutterer 7eb3526
+				  LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS,
Peter Hutterer 7eb3526
+				  &unaccel);
Peter Hutterer 7eb3526
+
Peter Hutterer 7eb3526
+	return true;
Peter Hutterer 7eb3526
+}
Peter Hutterer 7eb3526
+
Peter Hutterer 7eb3526
 static void
Peter Hutterer 7eb3526
 evdev_flush_pending_event(struct evdev_device *device, uint64_t time)
Peter Hutterer 7eb3526
 {
Peter Hutterer 7eb3526
@@ -275,14 +292,8 @@ evdev_flush_pending_event(struct evdev_device *device, uint64_t time)
Peter Hutterer 7eb3526
 		device->rel.y = 0;
Peter Hutterer 7eb3526
 
Peter Hutterer 7eb3526
 		/* Use unaccelerated deltas for pointing stick scroll */
Peter Hutterer 7eb3526
-		if (device->scroll.method == LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN &&
Peter Hutterer 7eb3526
-		    hw_is_key_down(device, device->scroll.button)) {
Peter Hutterer 7eb3526
-			if (device->scroll.button_scroll_active)
Peter Hutterer 7eb3526
-				evdev_post_scroll(device, time,
Peter Hutterer 7eb3526
-						  LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS,
Peter Hutterer 7eb3526
-						  &unaccel);
Peter Hutterer 7eb3526
-			break;
Peter Hutterer 7eb3526
-		}
Peter Hutterer 7eb3526
+		if (evdev_post_trackpoint_scroll(device, unaccel, time))
Peter Hutterer 7eb3526
+		    break;
Peter Hutterer 7eb3526
 
Peter Hutterer 7eb3526
 		/* Apply pointer acceleration. */
Peter Hutterer 7eb3526
 		accel = filter_dispatch(device->pointer.filter,
Peter Hutterer 7eb3526
-- 
Peter Hutterer 7eb3526
2.4.3
Peter Hutterer 7eb3526