我有一台 Thinkpad,它有一个 TrackPoint 鼠标指针(G 和 H 键之间的红色小东西)和一个 Synaptics 触摸板。
我不太喜欢触摸板,事实上,我总是不小心滑动它,所以我把它关掉了。但是,有一个非常好的功能:两指滚动手势。
有没有办法让它这样仅有的这个手势有效并且所有其他输入都被忽略?
答案1
我无法仅用两根手指滚动来工作,但我能够扩展边缘滚动,使其占据整个垫。这对我行得通。这就是我所做的:
1) 启用垂直和水平边缘滚动,但不启用“滑行”:
xinput --set-prop 'SynPS/2 Synaptics TouchPad' 'Synaptics Edge Scrolling' 1 1 0
2)将触控板的左右“边缘”设置为0。它们默认为数千个值,形成一个小边框。用于xinput --list-props
查找初始值 -4282
底边的值由此而来。我还将顶部边缘设置为 0,因为这样不会造成伤害。
xinput --set-prop 'SynPS/2 Synaptics TouchPad' 'Synaptics Edges' 0 0 0 4282
3)将滚动距离(触发滚动事件之前手指必须移动的距离)设置为默认值的两倍左右,因为这太快了:
xinput --set-prop 'SynPS/2 Synaptics TouchPad' 'Synaptics Scrolling Distance' 250 250
这样,我就可以使用触摸板滚动,而无需移动光标。 (上面设置的高距离可以防止我意外触发它。)
答案2
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 100000
这会使指针减慢 100k 倍,从而有效地禁用指针运动,同时允许滚动和单击事件正常进行。
答案3
这些都是有趣的解决方案,我在 X230 上将它们与 Ubuntu 和 Vector 论坛的其他一些建议结合起来,得到了我在 .xinitrc 脚本中调用的这组 mod。顺便说一句,我正在运行 Slackware_64 14.2。我还不会称其为完美,但通过此设置我获得了相对合理的触摸板体验。
今天我又添加了 4 行,意识到“tap”和“click”是不同的。 “Tap”太敏感并会导致错误,因此我已将所有 3 个按钮以及 TapAndDrag 的功能关闭。 “点击”仍然有效,但不容易出错;您确实必须按下键盘才能触发点击。
这是我使用机器三个月后修改的配置。
# 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