| Summary: |
Fix acceleration curve for touchpads |
| Product: |
Wayland
|
Reporter: |
Velimir Lisec <lisec.velimir> |
| Component: |
libinput | Assignee: |
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: |
|
|
|
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.
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?