Currently unused, but store the ratio of DPI:default DPI for later use.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
evdev_device_init_pointer_acceleration(struct evdev_device *device,
accel_profile_func_t profile)
{
- device->pointer.filter = create_pointer_accelerator_filter(profile);
+ device->pointer.filter = create_pointer_accelerator_filter(profile,
+ device->dpi);
if (!device->pointer.filter)
return -1;
#include "timer.h"
#include "filter.h"
-/* The HW DPI rate we normalize to before calculating pointer acceleration */
-#define DEFAULT_MOUSE_DPI 1000
-
/*
* The constant (linear) acceleration factor we use to normalize trackpoint
* deltas before calculating pointer acceleration.
double threshold; /* units/ms */
double accel; /* unitless factor */
double incline; /* incline of the function */
+
+ double dpi_factor;
};
static void
};
struct motion_filter *
-create_pointer_accelerator_filter(accel_profile_func_t profile)
+create_pointer_accelerator_filter(accel_profile_func_t profile,
+ int dpi)
{
struct pointer_accelerator *filter;
filter->accel = DEFAULT_ACCELERATION;
filter->incline = DEFAULT_INCLINE;
+ filter->dpi_factor = dpi/(double)DEFAULT_MOUSE_DPI;
+
return &filter->base;
}
uint64_t time);
struct motion_filter *
-create_pointer_accelerator_filter(accel_profile_func_t filter);
+create_pointer_accelerator_filter(accel_profile_func_t filter,
+ int dpi);
/*
* Pointer acceleration profiles.
#define VENDOR_ID_APPLE 0x5ac
#define VENDOR_ID_WACOM 0x56a
+/* The HW DPI rate we normalize to before calculating pointer acceleration */
+#define DEFAULT_MOUSE_DPI 1000
+
void
set_logging_enabled(int enabled);
OPT_SPEED,
};
- filter = create_pointer_accelerator_filter(pointer_accel_profile_linear);
+ filter = create_pointer_accelerator_filter(pointer_accel_profile_linear,
+ 1000);
assert(filter != NULL);
while (1) {