Move DEFAULT_MOUSE_DPI to filter.h

The filter code is what relies on some default dpi configuration to apply
pointer acceleration and expects the input coordinates to be pre-scaled to
that resolution.

Let's move the define here so we can use it from the touchpad code too.

No functional changes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Peter Hutterer 2014-11-28 10:08:02 +10:00
parent 4f84bad9eb
commit 7e3cc15819
3 changed files with 8 additions and 10 deletions

View file

@ -932,17 +932,14 @@ tp_init_accel(struct tp_dispatch *tp, double diagonal)
/*
* Not all touchpads report the same amount of units/mm (resolution).
* Normalize motion events to a resolution of 15.74 units/mm
* (== 400 dpi) as base (unaccelerated) speed. This also evens out any
* differences in x and y resolution, so that a circle on the
* Normalize motion events to the default mouse DPI as base
* (unaccelerated) speed. This also evens out any differences in x
* and y resolution, so that a circle on the
* touchpad does not turn into an elipse on the screen.
*
* We pick 400dpi as thats one of the many default resolutions
* for USB mice, so we end up with a similar base speed on the device.
*/
if (res_x > 1 && res_y > 1) {
tp->accel.x_scale_coeff = (400/25.4) / res_x;
tp->accel.y_scale_coeff = (400/25.4) / res_y;
tp->accel.x_scale_coeff = (DEFAULT_MOUSE_DPI/25.4) / res_x;
tp->accel.y_scale_coeff = (DEFAULT_MOUSE_DPI/25.4) / res_y;
} else {
/*
* For touchpads where the driver does not provide resolution, fall

View file

@ -42,8 +42,6 @@
#define DEFAULT_AXIS_STEP_DISTANCE 10
#define DEFAULT_MIDDLE_BUTTON_SCROLL_TIMEOUT 200
/* The HW DPI rate we normalize to before calculating pointer acceleration */
#define DEFAULT_MOUSE_DPI 400
enum evdev_key_type {
EVDEV_KEY_TYPE_NONE,

View file

@ -28,6 +28,9 @@
#include <stdbool.h>
#include <stdint.h>
/* The HW DPI rate we normalize to before calculating pointer acceleration */
#define DEFAULT_MOUSE_DPI 400
struct motion_params {
double dx, dy; /* in units/ms @ DEFAULT_MOUSE_DPI resolution */
};