accel_profile_smooth_simple: Make 0.0-1.0 accel range depend on threshold
authorHans de Goede <hdegoede@redhat.com>
Fri, 4 Jul 2014 14:59:50 +0000 (16:59 +0200)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 9 Jul 2014 02:40:01 +0000 (12:40 +1000)
Instead of always going from an accel of 0.0 to 1.0 between a velocity of
0.0 and 1.0, make the lead-in length of the curve depend on the threshold
setting, using half of the threshold for the lead-in.

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/filter.c

index 8192dd0..6fbd4d9 100644 (file)
@@ -343,8 +343,8 @@ pointer_accel_profile_smooth_simple(struct motion_filter *filter,
 
        velocity *= DEFAULT_CONSTANT_ACCELERATION;
 
-       if (velocity < 1.0)
-               return calc_penumbral_gradient(0.5 + velocity * 0.5) * 2.0 - 1.0;
+       if (velocity < (threshold / 2.0))
+               return calc_penumbral_gradient(0.5 + velocity / threshold) * 2.0 - 1.0;
 
        if (velocity <= threshold)
                return 1.0;