Linux下Synaptics笔记本触摸板的配置
笔记本上Synaptics的触摸板比较常见,但关于其配置的资料目前来看比较混乱,主要原因是这两年来桌面环境的变化比较大,搜索出来的结果是不同时期的人的解决办法,往往五花八门让人无所适从,如果想完全控制触摸板,可能需要了解以下的事情:
- 触摸板是输入设备,首先需要Xorg的支持,所以/etc/X11/xorg.conf里面会有synaptics的配置;
- 大约08年开始,X11依赖hal来挂载硬件驱动,hal读取/etc/hal/fdi/policy里面的配置,所以会有写hal的配置文件的配置方法;
- 10年3月,Xorg发布了1.8.0版,不再依赖hal而实现动态加载驱动,依然使用xorg.conf配置驱动参数,还新引入/etc/X11/xorg.conf.d目录里面的配置文件;
- Xorg的synaptics驱动带有一个配置程序,synclient可对驱动参数动态设置;
- 各个桌面环境,如Gnome、KDE默认自带了不同程度对触摸板设置的支持;
- gsynaptics设置程序提供比桌面环境自带的多一些的设置选项,但是这个项目即将面临被荒废;Gnome有个子项目GPointingDeviceSettings,跟gsynaptics功能基本一致但还未被收录到Gnome桌面的默认组件。
在网上搜到的资料,包括各大发行版的Wiki,一般都只会覆盖以上其中一两点的配置描述,而且很多都过时。
从上面这些很“历史性”的事情可以概括出的事实:
- 使用xorg.conf、synclient来配置触摸板最具体的参数,这点是不会变的;
- HAL作为一个过渡性组件,对其配置的意义不太大;
- Gnome等桌面环境启动后会重新设定一些参数,可能会重载xorg.conf的设置参数;
- gsynaptics提供了一个常驻进程,在进入桌面时候启动,它的配置参数记录在gconf,只要其进程在运行,就会重载所有触摸板的配置参数;
- 没有一个图形界面的设置工具能提供所有的触摸板高级特性特性设置支持。
下面列举一些触摸板的高级特性:
四边角按钮
触摸板被分布成类似九宫格的区域,除了中间的矩形区域面积较大,四个边角可以设置为一个按钮,比如最常用就是点击右下角就相当于右键,左上角为中键(个人 喜好)。
涉及参数:(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个位置。
想使用这些高级特征,一个方法是就像多数搜索出来的资料,修改xorg.conf,但如前文说会有弊端,被桌面环境重载,所以我们最好还是使用synaptics驱动自带的小工具synclient。synclient接受k=v的参数,而实时修改X11对触摸板的驱动,也很方便调试,就是运行synclient TapButton2=3,应该马上就有双指右键的效果了。所以,把所有需要设置的参数写成一个脚本文件,让进入桌面时候启动synclient来设置,似乎是目前最方便好的方法:
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash export DISPLAY=:0.0synclient \ 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,如果设置过大是不会反应的。
另外有人不喜欢触摸板,设置touchpadoff=1即可关闭触摸板的感应;Gnome的触摸板设置里面有一个选项,键盘打字时智能关闭触摸板,个人感觉比较有效,也就没做更多设置了。
转载自:http://apt-blog.net/configuring_laptop_synaptics_touchpad_in_linux
Linux下Synaptics笔记本触摸板的配置相关推荐
- linux触摸板设置密码程序6,Linux下Synaptics笔记本触摸板的配置
笔记本上Synaptics的触摸板比较常见,但关于其配置的资料目前来看比较混乱,主要原因是这两年来桌面环境的变化比较大,搜索出来的结果是不同时期的人的解决办法,往往五花八门让人无所适从,如果想完全控制 ...
- linux+synaptics+驱动程序,Linux下Synaptics笔记本触摸板的配置
笔记本上Synaptics的触摸板比较常见,但关于其配置的资料目前来看比较混乱,主要原因是这两年来桌面环境的变化比较大,搜索出来的结果是不同时期的人的解决办法,往往五花八门让人无所适从,如果想完全控制 ...
- Linux下Ubuntu关闭触摸板(TinkPad)
Ubuntu下如何关闭触摸板(TinkPad) 有以下两种方法: 第一种: 1 sudo rmmod psmouse 这个是禁用的 2 sudo modprobe psmouse 这个是启用的
- ubuntu下关闭笔记本触摸板
关闭笔记本触摸板 : sudo rmmod psmouse 恢复: sudo modprobe psmouse
- Linux系统关闭笔记本触摸板的方法
#下定决心学Linux,格掉window,直接装了个linux系统在笔记本上,发现Fn+Fx的快捷键关闭鼠标触摸板的功能失效了,光标跳来跳去的,烦死了,其实解决办法很简单 第一步:打开终端,执行 ...
- 双系统linux触摸板不能用,windows系统与ubuntu双系统导致笔记本触摸板失灵的解决办法(非输入代码)...
先说一下我现在的笔记本使用的系统,windows10 64位+ubuntu14.04 64位. 这几天把ubuntu装好后本来毫无问题的,用的飞起-可是昨天不知道什么原因,触摸板突然失灵了,插上鼠标可 ...
- Ubuntu下开机禁用笔记本触摸板
Ubuntu下开机禁用笔记本触摸板 https://blog.csdn.net/kellncy/article/details/53573526
- ubuntu下开启/禁用笔记本触摸板
操作系统环境:ubuntu16.04: 操作方式:命令行: 禁用笔记本触摸板:sudo rmmod psmouse: 开启笔记本触摸板:sudo modprobe psmouse:
- ubuntu下联想y400笔记本触摸板失灵解决办法
共需要三步: 第一步 在终端输入以下代码sudo modprobe -r psmousesudo modprobe psmouse上面代码作用是重新加载相应模块 (至此,如果触摸板还不管用,请尝试第二 ...
最新文章
- ABP框架理论学习之Debugging
- python 新建文件 hdfs_大数据学习(六):Python操作hdfs(包括追加数据文件到hdfs文件)...
- php7序列化,php 7.2中未序列化字符串时出现问题
- Flutter代码锦囊---魔改进度条
- html怎么让一行文字有滚动的效果,HTML标签marquee实现滚动效果
- cad计算机画图标准,CAD高级绘图员鉴定标准
- C++ Primer 中文版(第 5 版)练习解答合集
- 【学习记录】QT5 的简单界面设计及错误总结
- html 限制文本框的长度,JavaScript 限制文本框输入长度(支持字符限制)
- mysql锘縖_根据中文字符串查询拼音声母
- phpcms 允许英文目录有空格
- 自制android摇一摇闹钟,摇一摇闹钟
- po vo pojo domain 区别
- win10系统英雄联盟老是重新连接服务器,更新win10系统后lol进不去游戏怎么回事 win10lol重新连接进不去怎么办...
- 二进制有符号数补码计算器
- 【好记性不如烂笔头】IO之深入理解同步、异步、阻塞、非阻塞
- iOS:iPhone手机分辨率、尺寸、导航栏尺寸、Tabbar尺寸对比(菜鸟教程)
- ORACEL_EBS_采购到入库所经历的表
- 服务器机柜组件是,服务器机柜尺寸与组件-上海数据中心机房建设
- Gavin老师Transformer直播课感悟 - Rasa项目实战之电商零售智能业务对话机器人配置详解与Debugging演示(八十七)