diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index e29b2527..67a8d68a 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -940,6 +940,19 @@ tp_init_accel(struct tp_dispatch *tp, double diagonal) if (res_x > 1 && res_y > 1) { tp->accel.x_scale_coeff = (DEFAULT_MOUSE_DPI/25.4) / res_x; tp->accel.y_scale_coeff = (DEFAULT_MOUSE_DPI/25.4) / res_y; + + /* FIXME: 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. + For now, apply a magic factor here until this is + fixed in the actual filter code. + */ + { + const double MAGIC = 0.4; + tp->accel.x_scale_coeff *= MAGIC; + tp->accel.y_scale_coeff *= MAGIC; + } } else { /* * For touchpads where the driver does not provide resolution, fall diff --git a/src/filter.h b/src/filter.h index e96212a3..bffeb5f9 100644 --- a/src/filter.h +++ b/src/filter.h @@ -29,7 +29,7 @@ #include /* The HW DPI rate we normalize to before calculating pointer acceleration */ -#define DEFAULT_MOUSE_DPI 400 +#define DEFAULT_MOUSE_DPI 1000 struct motion_params { double dx, dy; /* in units/ms @ DEFAULT_MOUSE_DPI resolution */