Chrome – Jumpy scrolling behavior using Chromium with the touchpad hardware buttons

chromiumgoogle-chromemousescrollingtouchpad

I am experiencing very jumpy scrolling in Chromium. When use my touchpad hardware buttons to click anywhere on a page, and then use two fingers to scroll, the scrolling gesture will cause Chromium to jump to the top of the page and then start scrolling. This issue started about 1-2 months back. I have been hoping that it would be taken care of in an update, but that has not been the case.

I used Google Docs, xev and an external mouse to narrow down the behavior. It turns out that I cannot reproduce the event if I involve the external mouse in any way (touchpad click followed by external mouse scrolling or external mouse clicking followed by touchpad scrolling). I also can't reproduce the event when tapping the touchpad surface to emulate a click, it is only when I use any of the three physical touchpad buttons and then try to scroll with two fingers on the touchpad that the page jumps around.

When I used xev to monitor keystrokes, there is no even reported when I start dragging two fingers over the mousepad in a way that causes the page to jump. If I then continue to drag the two fingers, xev starts reporting the scroll event and the page also scrolls as normal.

I am using the synaptics drivers for the touchpad (xf86-input-synaptics 1.8.99.1-1) and I have been using these drivers previously without the problem. I did install the new libinput drivers and I do not see the problem with them, but they are introducing other problems, so I prefer the synaptics drivers. Chromium is the only application this is happening with. I am using Chromium 51.0.2704.103 (64-bit) on Antergos Linux (arch derivative), with Gnome 3.20.3 and kernel 4.6.3-1. My laptop is a Lenovo Yoga Thinkpad 12" 2nd Gen.

What can I do to resolve this issue?

Best Answer

This has been confirmed to be a bug in the current Chromium release. The next stable release of Chromium (around July 26th) will revert back to xinput1 from xinput2, which will fix this issue.

Related Question