[PATCH libinput 3/4] Move DEFAULT_MOUSE_DPI to filter.h

Peter Hutterer peter.hutterer at who-t.net
Sun Nov 30 16:04:39 PST 2014


The filter code is what relies on some default dpi configuration to apply
pointer acceleration and expects the input coordinates to be pre-scaled to
that resolution.

Let's move the define here so we can use it from the touchpad code too.

No functional changes.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/evdev-mt-touchpad.c | 13 +++++--------
 src/evdev.c             |  2 --
 src/filter.h            |  3 +++
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index 8f76ddb..e29b252 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -932,17 +932,14 @@ tp_init_accel(struct tp_dispatch *tp, double diagonal)
 
 	/*
 	 * Not all touchpads report the same amount of units/mm (resolution).
-	 * Normalize motion events to a resolution of 15.74 units/mm
-	 * (== 400 dpi) as base (unaccelerated) speed. This also evens out any
-	 * differences in x and y resolution, so that a circle on the
+	 * Normalize motion events to the default mouse DPI as base
+	 * (unaccelerated) speed. This also evens out any differences in x
+	 * and y resolution, so that a circle on the
 	 * touchpad does not turn into an elipse on the screen.
-	 *
-	 * We pick 400dpi as thats one of the many default resolutions
-	 * for USB mice, so we end up with a similar base speed on the device.
 	 */
 	if (res_x > 1 && res_y > 1) {
-		tp->accel.x_scale_coeff = (400/25.4) / res_x;
-		tp->accel.y_scale_coeff = (400/25.4) / res_y;
+		tp->accel.x_scale_coeff = (DEFAULT_MOUSE_DPI/25.4) / res_x;
+		tp->accel.y_scale_coeff = (DEFAULT_MOUSE_DPI/25.4) / res_y;
 	} else {
 	/*
 	 * For touchpads where the driver does not provide resolution, fall
diff --git a/src/evdev.c b/src/evdev.c
index e4d79c2..19b861f 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -42,8 +42,6 @@
 
 #define DEFAULT_AXIS_STEP_DISTANCE 10
 #define DEFAULT_MIDDLE_BUTTON_SCROLL_TIMEOUT 200
-/* The HW DPI rate we normalize to before calculating pointer acceleration */
-#define DEFAULT_MOUSE_DPI 400
 
 enum evdev_key_type {
 	EVDEV_KEY_TYPE_NONE,
diff --git a/src/filter.h b/src/filter.h
index 9b12618..e96212a 100644
--- a/src/filter.h
+++ b/src/filter.h
@@ -28,6 +28,9 @@
 #include <stdbool.h>
 #include <stdint.h>
 
+/* The HW DPI rate we normalize to before calculating pointer acceleration */
+#define DEFAULT_MOUSE_DPI 400
+
 struct motion_params {
 	double dx, dy; /* in units/ms @ DEFAULT_MOUSE_DPI resolution */
 };
-- 
2.1.0



More information about the wayland-devel mailing list