On Tue, Mar 17, 2020 at 05:05:19PM +1030, Brett Lymn wrote: > On Sun, Mar 15, 2020 at 11:00:09PM +0000, nia wrote: > > I've just committed a handful of changes to synaptics.c that give me > > smooth two-finger scrolling out of the box. > > > > I'm curious how many others are using multitouch touchpads and whether > > you notice any improvement. > > > > I will have a look when I get a chance. Just one question, what happens > if you place one finger on the touchpad and then place another on the > touchpad in a different area and move that second finger? Does the > cursor move or do you get scrolling? The answer "scrolling" in this > situation is bad. Thinkpads have external buttons wired, some laptops, > including my fujitsu do not have any external buttons. That is the > whole reason for the button emulation code because clicking a click pad > results in a left button event - that is all you get, to emulate more > buttons in this situation the region the finger in determines the button > pressed. So, to navigate a menu the first finger down determines the > button then a second finger is used to navigate.
"Newer" thinkpads (x250, 2015...) have single-button clickpads with extra wired buttons. Until a few revisions ago these buttons couldn't be configured to act as regular mouse buttons and defaulted to acting as buttons 4 and 5. I haven't managed to get right clicks with the clickpad to work either, honestly. I was not sure how this was supposed to work until you explained it. To clarify, clicking the pad down with a single finger in the right area of the pad rarely results in a right click menu either. I worked around this by adding a knob to recognize the extra buttons as regular mouse buttons by default. I've got another laptop with a single button clickpad, and no buttons, but that's using the ims(4) driver which is significantly less useful. > > > The existing approximation (sysctl hw.synaptics.finger_scroll...) wasn't > > working for me at all, tweaking hw.synaptics.finger_scroll-min either > > gave me no scrolling or registered normal mouse movements as scrolling > > > > I suspect my fingers are significantly smaller than whoever wrote this > > code. Was anyone using this successfully, and how does scrolling compare > > after my changes? > > What can I say? It worked for me. One thing I have learnt is there is a > massive variation between laptop trackpads when it comes to reporting > the W value so values that work on one laptop are bad on others, I am > surprised that you were unable to get a fscroll_min that would work for > you. The number of sysctl parameters with fairly magical values makes configuring this driver to a usable state a quite confusing affair. But yeah, the values are not fine-grained enough for me for that particular knob.
