Bug 90942

Summary: Fix acceleration curve for touchpads
Product: Wayland Reporter: Velimir Lisec <lisec.velimir>
Component: libinputAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 90735    
Bug Blocks:    

Description Velimir Lisec 2015-06-11 21:46:14 UTC
Acceleration curve used for mouse is also used on touchpads. Because of this touchpads are not very precise. They're too fast. I've been playing around with different acceleration curves for touchpads and this is what I've come up with:

touchpad_accel_profile_linear(struct motion_filter *filter,
                              void *data,
                              double speed_in,
                              uint64_t time)
{
	const double TP_MAGIC_SLOWDOWN = 0.4;
	double speed_out;

	speed_in *= TP_MAGIC_SLOWDOWN;

	struct pointer_accelerator *accel_filter =
		(struct pointer_accelerator *)filter;

	double s1, s2;
	const double max_accel = accel_filter->accel; /* unitless factor */
	const double threshold = accel_filter->threshold; /* units/ms */
	const double incline = accel_filter->incline;

	s1 = min(0.55, 0.35 + speed_in);
	s2 = speed_in + 0.15;

	speed_out = min(max_accel, s2 > 0.55 ? s2 : s1);

	return speed_out * TP_MAGIC_SLOWDOWN;
}

I personally quite like this curve and speed, but that's probably because I use similar curve and speed in X11 so I'm used to it.

The thing that's missing is treshold and incline variables. Currently I can't incorporate those into the formula because i don't know how to change mouse speed. I'm running ubuntu 14.04 and I'm testing libinput in weston. Is there a way to change mouse speed from weston.ini?
Comment 1 Peter Hutterer 2015-06-25 07:04:26 UTC
what laptop/touchpad do you have? can you attach an evemu-describe of it please? thanks
Comment 2 Peter Hutterer 2015-06-25 07:05:06 UTC
actually, marking this as dupe of the other one so we're not split across multiple bugs for the same issue

*** This bug has been marked as a duplicate of bug 90735 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.