[PATCH libinput 4/6] filter: move the TP_MAGIC_SLOWDOWN to a single definition

Peter Hutterer peter.hutterer at who-t.net
Mon Aug 17 16:20:32 PDT 2015


Requires splitting out the X230 one so we don't accidentally break things if
we ever change this.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/filter.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/filter.c b/src/filter.c
index d05b53a..f92b9fd 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -36,6 +36,12 @@
 #include "libinput-util.h"
 #include "filter-private.h"
 
+/* Once normalized, touchpads see the same acceleration as mice. that is
+ * technically correct but subjectively wrong, we expect a touchpad to be a
+ * lot slower than a mouse. Apply a magic factor to slow down all movements
+ */
+#define TP_MAGIC_SLOWDOWN 0.4 /* unitless factor */
+
 /* Convert speed/velocity from units/us to units/ms */
 static inline double
 v_us2ms(double units_per_us)
@@ -581,12 +587,6 @@ touchpad_accel_profile_linear(struct motion_filter *filter,
                               double speed_in, /* units/us */
                               uint64_t time)
 {
-	/* Once normalized, touchpads see the same
-	   acceleration as mice. that is technically correct but
-	   subjectively wrong, we expect a touchpad to be a lot
-	   slower than a mouse. Apply a magic factor here and proceed
-	   as normal.  */
-	const double TP_MAGIC_SLOWDOWN = 0.4; /* unitless */
 	double factor; /* unitless */
 
 	speed_in *= TP_MAGIC_SLOWDOWN;
@@ -603,7 +603,7 @@ touchpad_lenovo_x230_accel_profile(struct motion_filter *filter,
 				      uint64_t time)
 {
 	/* Keep the magic factor from touchpad_accel_profile_linear.  */
-	const double TP_MAGIC_SLOWDOWN = 0.4; /* unitless */
+	const double X230_MAGIC_SLOWDOWN = 0.4; /* unitless */
 
 	/* Those touchpads presents an actual lower resolution that what is
 	 * advertised. We see some jumps from the cursor due to the big steps
@@ -629,14 +629,14 @@ touchpad_lenovo_x230_accel_profile(struct motion_filter *filter,
 	 * pointer_accel_profile_linear(), look at the git history of that
 	 * function for an explaination of what the min/max/etc. does.
 	 */
-	speed_in *= TP_MAGIC_SLOWDOWN / TP_MAGIC_LOW_RES_FACTOR;
+	speed_in *= X230_MAGIC_SLOWDOWN / TP_MAGIC_LOW_RES_FACTOR;
 
 	f1 = min(1, v_us2ms(speed_in) * 5);
 	f2 = 1 + (v_us2ms(speed_in) - v_us2ms(threshold)) * incline;
 
 	factor = min(max_accel, f2 > 1 ? f2 : f1);
 
-	return factor * TP_MAGIC_SLOWDOWN / TP_MAGIC_LOW_RES_FACTOR;
+	return factor * X230_MAGIC_SLOWDOWN / TP_MAGIC_LOW_RES_FACTOR;
 }
 
 double
-- 
2.4.3



More information about the wayland-devel mailing list