evdev: add quirk for the HP85810 touchpad

The touchpad's says it can do two- and three-finger detection but it never
sends events for it. Disable them so we treat it as pure single-finger
touchpad.

https://bugzilla.redhat.com/show_bug.cgi?id=1351285

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 64c8939911)
This commit is contained in:
Peter Hutterer 2016-08-30 17:51:30 +10:00
parent 32d383b7f9
commit 2f2132aa39
3 changed files with 17 additions and 0 deletions

View file

@ -1807,6 +1807,7 @@ evdev_read_model_flags(struct evdev_device *device)
MODEL(DELL_TOUCHPAD),
MODEL(TRACKBALL),
MODEL(APPLE_MAGICMOUSE),
MODEL(HP8510_TOUCHPAD),
{ NULL, EVDEV_MODEL_DEFAULT },
#undef MODEL
};
@ -2430,6 +2431,14 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
*/
if (device->model_flags & EVDEV_MODEL_APPLE_MAGICMOUSE)
libevdev_disable_event_type(device->evdev, EV_ABS);
/* Claims to have double/tripletap but doesn't actually send it
* https://bugzilla.redhat.com/show_bug.cgi?id=1351285
*/
if (device->model_flags & EVDEV_MODEL_HP8510_TOUCHPAD) {
libevdev_disable_event_code(device->evdev, EV_KEY, BTN_TOOL_DOUBLETAP);
libevdev_disable_event_code(device->evdev, EV_KEY, BTN_TOOL_TRIPLETAP);
}
}
struct evdev_device *

View file

@ -118,6 +118,7 @@ enum evdev_device_model {
EVDEV_MODEL_DELL_TOUCHPAD = (1 << 18),
EVDEV_MODEL_TRACKBALL = (1 << 19),
EVDEV_MODEL_APPLE_MAGICMOUSE = (1 << 20),
EVDEV_MODEL_HP8510_TOUCHPAD = (1 << 21),
};
struct mt_slot {

View file

@ -86,6 +86,13 @@ libinput:name:Atmel maXTouch Touchpad:dmi:*svn*GOOGLE*:pn*Samus*
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*
LIBINPUT_MODEL_CYAPA=1
##########################################
# HP
##########################################
#
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq8510w*
LIBINPUT_MODEL_HP8510_TOUCHPAD=1
##########################################
# LENOVO
##########################################