7

I have a Thinkpad which has both a TrackPoint mouse pointer (the little red thing between the G and H keys) and a Synaptics Touchpad.

I don't really like the Touchpad, and in fact keep swiping it accidentally, so I turned it off. But, there's one feature that's really nice: the two-finger scroll gesture.

Is there a way to make it so only this gesture works and all other input is ignored?

  • Hmmm, I can try playing with this once I'm home (no touchpads in front of me here), but what happens if you set MinSpeed and MaxSpeed to 0? Does that make the pointer not move? Alternatively, what if you use xinput to float the device (though maybe that'll break scrolling)? – derobert Oct 19 '12 at 18:27
  • @derobert: that didn't work, but put me on the right track. – mattdm Oct 22 '12 at 3:06
  • I find middle-click scrolling pretty convenient, but I'd love to use the touch pad for pinch-zooming, and the mouse buttons for nav-forward and -back. (This will likely be my last Lenovo, because they've messed with the keyboard layout, and those and other keys are missing. :-( ) – Michael Scheper Feb 21 '15 at 5:41
4

I couldn't get only two-finger scrolling to work, but I was able to expand the edge scrolling so it takes over the whole pad. That works for me. Here's what I did:

1) Enable edge scrolling vertically and horizontally, but not "coasting":

xinput --set-prop 'SynPS/2 Synaptics TouchPad'  'Synaptics Edge Scrolling' 1 1 0

2) Set the left and right "edges" of the trackpad to be 0. They default to being some value in the thousands, making a little border. Use xinput --list-props to find the initial values — the 4282 value for the bottom edge comes from that. I've also set the top edge to 0, on the grounds that that doesn't hurt.

 xinput --set-prop 'SynPS/2 Synaptics TouchPad'  'Synaptics Edges' 0 0 0 4282

3) Set the scrolling distance (amount your finger has to move before triggering a scroll event) to about double the default, because that was too fast:

 xinput --set-prop 'SynPS/2 Synaptics TouchPad'  'Synaptics Scrolling Distance' 250 250

With this, I can use the touchpad just to scroll, without it moving the cursor around. (And the high distance set above keeps me from triggering it accidentally.)

  • Awesome answer, but I find I do still trigger it accidentally—I have big hands, I suppose. I'd love it to scroll only when I use two fingers, and for other multi-finger features, like pinch zooming, to work too. – Michael Scheper Feb 21 '15 at 5:46
3
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 100000

This slows down the pointer by a factor of 100k, which effectively disables pointer motion, while allowing the scroll and click events to proceed normally.

1

These are both interesting solutions, and I have combined them on my X230 with some other suggestions from the Ubuntu and Vector forums to arrive at this set of mods which I invoke in my .xinitrc script. BTW I'm running Slackware_64 14.2. I wouldn't call it perfect yet, but I'm having a relatively sane TouchPad experience with this setup.

I've added 4 more lines today, realizing that 'tap' and 'click' are distinct. 'Tap' is too sensitive and causes mistakes, so I've turned it off for all 3 button possibilities as well as for TapAndDrag. 'Click' still works but it isn't easy to do by mistake; you really have to push on the pad to trigger a click.

This is my revised config after 3 months with the machine.

# TouchPad sensitivity config
xinput set-prop 11 "Synaptics Noise Cancellation" 20 20
xinput set-prop 11 "Synaptics Finger" 50 50 255
synclient PalmDetect=1
synclient PalmMinWidth=05
synclient TapButton1=0
synclient TapButton2=0
synclient TapButton3=0
synclient TapAndDragGesture=0
synclient VertEdgeScroll=0
synclient VertTwoFingerScroll=1
synclient VertScrollDelta=250
synclient HorizScrollDelta=250
xinput set-prop 11 "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 100000
xinput --set-prop 11 "Synaptics Scrolling Distance" 350 350

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.