From d101d43dd0f7516167ec5d9964268f838a03cff1 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 16 Mar 2015 14:13:43 +1000 Subject: [PATCH] touchpad: force a resolution onto the apple touchpads A large range of the Apple touchpads seem to have the same dimensions. Use that fact to force-set a resolution. Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev-mt-touchpad.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 998249ff..62d80195 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -966,6 +966,22 @@ tp_init_accel(struct tp_dispatch *tp, double diagonal) res_x = tp->device->abs.absinfo_x->resolution; res_y = tp->device->abs.absinfo_y->resolution; + /* Mac touchpads seem to all be the same size (except the most + * recent ones) + * http://www.moshi.com/trackpad-protector-trackguard-macbook-pro#silver + */ + if (tp->model == MODEL_UNIBODY_MACBOOK && tp->device->abs.fake_resolution) { + const struct input_absinfo *abs; + int width, height; + + abs = tp->device->abs.absinfo_x; + width = abs->maximum - abs->minimum; + abs = tp->device->abs.absinfo_y; + height = abs->maximum - abs->minimum; + res_x = width/104.4; + res_y = height/75.4; + } + /* * Not all touchpads report the same amount of units/mm (resolution). * Normalize motion events to the default mouse DPI as base