- 四边角按钮
触摸板被分布成类似九宫格的区域,除了中间的矩形区域面积较大,四个边角可以设置为一个按钮,比如最常用就是点击右下角就相当于右键,左上角为中键。
涉及参数:(2为右键,3为中键)
RTCornerButton=2
RBCornerButton=0
LTCornerButton=3
LBCornerButton=0
- 多点触摸
如果是硬件原生支持多点触摸的,在Gnome的触摸板设置内能够直接打开双指滚动的选项;
模拟多点触摸
非多点触摸的触摸板也可以实现双指滚动,它通过触摸板的感应宽度来判断,即两指的在触摸板的跨度比单指大;但是这需要设置驱动参数:
EmulateTwoFingerMinZ=50 #模拟双指感应压力
EmulateTwoFingerMinW=6 #模拟双指感应跨度
VertTwoFingerScroll=1 #使用双指垂直滚动
HorizTwoFingerScroll=1 #使用双指水平滚动
VertScrollDelta=75 #垂直滚动速度
HorizScrollDelta=100 #水平滚动速度
这些参数很可能需要用户自己调试出最适合的组合(如何设置调试请看本文后介绍),以上数值仅供参考。
- 多指按键
即在触摸板任意地方多指同敲就是相当于某击键,涉及参数:
TapButton1=1 #一指,左键,默认
TapButton2=3 #两指,右键;
TapButton3=0 #三指,仅适合硬件支持多触点的触摸板,否则没法感应三指同
- 圆周滚动
即可在某个边沿(通常右)开始手指在触摸板按顺时/逆时针圆周划动,即产生鼠标滚轮滚动作用,通常效率比仅仅使用右侧划动区上下滚动高,特别浏览长网页时(本设置在gsynaptics/GPointingDeviceSettings里面可以直观地设置)。涉及参数: CircularScrolling=1 #打开圆周滚动 CircScrollTrigger=3 #右边沿,除了0代表任意边沿,1~8分别代表从顶开始顺时针的九宫格外围8个位置。 选项CircScrollTrigger可以设置为下面的值之一,它能够决定环状滚动必须从哪个边缘开始:
0 所有边缘
1 顶部边缘
2 右上角
3 右边缘
4 右下角
5 底部边缘
6 左下角
7 左边缘
8 左上角
设置非0值对于同时使用水平/垂直滚动和环状滚动的用户是非常有用的。If you do so, the type of scrolling is determined by the edge you start from. 如果您想要快速滚动,请在触摸板中部画小圈,相反,如果您想要慢速地且更精确地滚动,请画大圈。 想使用这些高级特征,一个方法是就像多数搜索出来的资料,修改xorg.conf,但如前文说会有弊端,被桌面环境重载,所以我们最好还是使用synaptics驱动自带的小工具synclient。synclient接受k=v的参数,而实时修改X11对触摸板的驱动,也很方便调试,就是运行synclient TapButton2=3,应该马上就有双指右键的效果了。所以,把所有需要设置的参数写成一个脚本文件,让进入桌面时候启动synclient来设置,似乎是目前最方便好的方法:
#!/bin/bash
export DISPLAY=:0.0
synclient \
EmulateTwoFingerMinZ=50 \
EmulateTwoFingerMinW=6 \
VertTwoFingerScroll=1 \
HorizTwoFingerScroll=1 \
VertScrollDelta=75 \
HorizScrollDelta=100 \
;
把代码保存成touchpad_args.sh,chmod +x加上执行位,放倒任意地方,加入到System-Preferance-Startup Application内,即可!
关于synclient的另外一个小功能是可以实时查看触摸板的感应参数,运行synclient -m 100即每100毫秒读取一次触摸板的数据并打印,所以如果感觉触摸板操作不够灵敏,肯定是那些参数数值有些不合理,可以借助这个功能(使用这个功能需要打开X11的synaptics的SHMConfig设置)。其运行结果如下:
time x y z f w l r u d m multi gl gm gr gdx gdy
0.000 1 5855 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
1.465 2562 2450 10 1 5 0 0 0 0 0 00000000 0 0 0 0 0
....
其中主要参数:x,y是水平竖直值,z指垂直压力,f是手指数,非硬件支持多指的只会0或1,w指感应跨度。这些就是对应上述的参数,如Z就是EmulateTwoFingerMinZ的Z,如果设置过大是不会反应的。