Bug 98201

Summary: Cannot drag with hardware middle button of a touchpad
Product: Wayland Reporter: Jehan <jehan>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer
Version: 1.5.0   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Jehan 2016-10-10 18:58:07 UTC
libinput 1.5.0 (package from Fedora 24: 1.5.0-1.fc24).

The touchpad on my Lenovo X220 has a middle button, but it does not manage to "drag", only to click.
Dragging with middle click is sometimes necessary. For instance, GIMP's canvas rotation works with shift + middle-click (and dragging). This works well with a USB mouse, but not with the touchpad middle-click.

Someone also had the issue on a Lenovo yoga 300-11ibr.
Comment 1 Jehan 2016-10-10 18:59:18 UTC
P.S.: this issues was raised with libinput on X11. I did not test on Wayland.
Comment 2 Peter Hutterer 2016-10-11 08:57:08 UTC
the cause here is that in order to trigger a middle click, you have to have your finger in the middle button area (the same goes for the right button, but a left click may be triggered from outside the area due to the hardware).

libinput swallows any motion from a finger "pinned" to the software button area. that's a feature, but in this case it's a bug - there is no good solution here. libinput supports two fingers though, so you can click with one finger and then put another finger down to move. tricky on a x220 with it's small touchpad, but I don't think I'll change the behaviour, the side-effects are just too big.

alternatively, you can switch to clickfinger where you can press with three fingers to trigger the middle button press, then release two while keeping one finger down to then move the pointer. the middle button will be released whenever the last finger is released
Comment 3 Jehan 2016-10-11 13:36:44 UTC
> the cause here is that in order to trigger a middle click, you have to have your finger in the middle button area (the same goes for the right button, but a left click may be triggered from outside the area due to the hardware).
>
> libinput swallows any motion from a finger "pinned" to the software button area.

I am not clicking the "software button area" and trying to move this finger. On Thinkpad X220, I have physical left, right and middle buttons.
See this image: http://www.storagereview.com/images/Lenovo-ThinkPad-X220-TouchPad.jpg
So what I am doing is clicking this separate hardware button, and simply moving a finger on the touchpad.

> libinput swallows any motion from a finger "pinned" to the software button area. that's a feature, but in this case it's a bug - there is no good solution here. libinput supports two fingers though, so you can click with one finger and then put another finger down to move. tricky on a x220 with it's small touchpad, but I don't think I'll change the behaviour, the side-effects are just too big.

Funny thing is that this works on my X220 when using the software button area. I didn't even know of the existence of this area (since it is much more practical to use physical buttons).

Anyway reopening the bug report since it is about the hardware physical buttons which don't work with libinput, and not the software button area.
Since they are separate hardware, I don't think there are any side effects here.
Comment 4 Peter Hutterer 2016-10-12 06:51:33 UTC
oh, you're using the trackpoint buttons. the events for these actually come out of the event node for the trackpoint, they're not associated with the touchpad at all.

anyway, on the middle button on trackpoints we enable middle-button scrolling by default. this can be disabled by setting the scroll method to "none" on the trackstick device, or by setting the " libinput Scroll Method Enabled" property to 0 0 0

once disabled, the middle button will just work like the other buttons

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.