[PATCH libinput] evdev: add quirk for the HP85810 touchpad
Peter Hutterer
peter.hutterer at who-t.net
Wed Aug 31 23:28:49 UTC 2016
On Wed, Aug 31, 2016 at 03:41:57PM +0200, Daniel Martin wrote:
> On 31 August 2016 at 02:27, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> > 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 at who-t.net>
> > ---
> > src/evdev.c | 9 +++++++++
> > src/evdev.h | 1 +
> > udev/90-libinput-model-quirks.hwdb | 7 +++++++
> > 3 files changed, 17 insertions(+)
> >
> > diff --git a/src/evdev.c b/src/evdev.c
> > index 4ec74a5..9154e96 100644
> > --- a/src/evdev.c
> > +++ b/src/evdev.c
> > @@ -1954,6 +1954,7 @@ evdev_read_model_flags(struct evdev_device *device)
> > MODEL(DELL_TOUCHPAD),
> > MODEL(TRACKBALL),
> > MODEL(APPLE_MAGICMOUSE),
> > + MODEL(HP8510_TOUCHPAD),
> > #undef MODEL
> > { "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL },
> > { NULL, EVDEV_MODEL_DEFAULT },
> > @@ -2521,6 +2522,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 *
> > diff --git a/src/evdev.h b/src/evdev.h
> > index 9564e77..10b0e58 100644
> > --- a/src/evdev.h
> > +++ b/src/evdev.h
> > @@ -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),
> > };
>
> How about using a more generic name, in case such a touchpad is/will
> be built into another device?
this is an internal name only so we can change it when needed. for now I'd
like to keep it as specific as possible.
Cheers,
Peter
>
> > struct mt_slot {
> > diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
> > index ebce8d2..2bccc71 100644
> > --- a/udev/90-libinput-model-quirks.hwdb
> > +++ b/udev/90-libinput-model-quirks.hwdb
> > @@ -87,6 +87,13 @@ 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
> > ##########################################
> >
> > --
> > 2.7.4
More information about the wayland-devel
mailing list