touchpad: enable middle button emulation on some touchpads
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 14 Apr 2015 04:40:49 +0000 (14:40 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Fri, 17 Apr 2015 02:50:08 +0000 (12:50 +1000)
If the touchpad has left/right physical buttons but no middle button, force
middle button emulation - without a config option, it's always on.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
src/evdev-mt-touchpad-buttons.c

index 56a054c..f64343c 100644 (file)
@@ -694,6 +694,10 @@ tp_init_buttons(struct tp_dispatch *tp,
 
        tp_init_top_softbuttons(tp, device, 1.0);
 
+       if (!tp->buttons.is_clickpad &&
+           !libevdev_has_event_code(device->evdev, EV_KEY, BTN_MIDDLE))
+               evdev_init_middlebutton(tp->device, true, false);
+
        tp_for_each_touch(tp, t) {
                t->button.state = BUTTON_STATE_NONE;
                libinput_timer_init(&t->button.timer,