From 6e8f5f28e230f849f77dd3381cf21f76c080b261 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 4 Jul 2014 17:17:14 +0200 Subject: accel_profile_smooth_simple: Fix jump in acceleration curve There was an error in the value passed to the second calc_penumbral_gradient call causing a jump in the acceleration curve. This commit fixes this. Signed-off-by: Hans de Goede Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- src/filter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/filter.c b/src/filter.c index 487669c5..8192dd0c 100644 --- a/src/filter.c +++ b/src/filter.c @@ -353,6 +353,8 @@ pointer_accel_profile_smooth_simple(struct motion_filter *filter, if (velocity >= accel) return accel; - smooth_accel_coefficient = calc_penumbral_gradient(velocity / accel); + /* Velocity is between 1.0 and accel, scale this to 0.0 - 1.0 */ + velocity = (velocity - 1.0) / (accel - 1.0); + smooth_accel_coefficient = calc_penumbral_gradient(velocity); return 1.0 + (smooth_accel_coefficient * (accel - 1.0)); } -- cgit v1.2.1