Linux下的触摸板设置:以 Arch Linux 为例

原创 2015年08月01日 13:23:04

原文链接:http://harttle.com/2013/10/27/synaptics-settings-linux.html

软件安装

安装 Synaptics 驱动

# arch linux:
pacman -S xf86-input-synaptics

管理工具

# xf86-input-synaptics 自带了命令行管理工具:Synclient 

# 图形管理工具:GPointing Device Settings
yaourt -S gpointing-device-settings

# KDE 触摸板控制模块
yaourt -S kcm_touchpad

环境配置

一般的设置工作可通过图形管理工具完成,如单击、双击、右键的识别,横向和纵向滚动、双指滚动。下面介绍一些高级配置。

基本触摸板配置

可通过修改 synaptics 的配置文件,修改触摸板配置。包括多指敲击、滚动、避免手掌触摸、精确度与快速滚动。

#file: /etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"

        Option "TapButton1" "1"            #单指敲击产生左键事件
        Option "TapButton2" "2"            #双指敲击产生中键事件
        Option "TapButton3" "3"            #三指敲击产生右键事件

        Option "VertEdgeScroll" "on"       #滚动操作:横向、纵向、环形
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option "CircularScrolling" "on"  
        Option "CircScrollTrigger" "2"

        Option "EmulateTwoFingerMinZ" "40" #精确度
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "20"        #触发快速滚动的滚动速度

        Option "PalmDetect" "1"            #避免手掌触发触摸板
        Option "PalmMinWidth" "3"          #认定为手掌的最小宽度
        Option "PalmMinZ" "200"            #认定为手掌的最小压力值
EndSection

通过 man synaptics 了解更多信息。

注意:同时安装 kcm_synaptics 会覆盖掉该配置信息。

输入时禁止触摸板敲击

这样可以避免焦点变化,影响当前的输入。

对于使用 startx 来启动的桌面系统,可以修改其 .xinitrc 初始化配置文件来完成:

syndaemon -t -k -i 2 -d &

其中的 -i 2 表示两秒空闲,即键盘事件后的两秒内不允许响应触摸板 Tap。更多信息请参照手册页:

man syndaemon

外接鼠标时禁用触摸板

在 arch linux 中,使用 udev 监测硬件的热拔插,通过修改其规则文件,来响应外接鼠标事件,从而禁用和启用触摸板。如下的规则文件,调用了 synclient。

#file: /etc/udev/rules.d/01-touchpad.rules
ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/harttle/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/harttle/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"

注意:该文件中每个操作必须单独一行,可以使用 \ 来折行;SUBSYSTEMKERNEL 指定了设备 /dev/input/mouse[0-9](archwiki的中文页面中此处有误,我会找时间去修改)。了解更多 udev rules 语法:https://wiki.archlinux.org/index.php/Udev

开机时鼠标检测

PS/2 鼠标在开机时不会出发 udev 规则。我们做一个桌面环境的启动脚本,在 .xinitrc,profile 中调用,或者放在 KDE 的 Autostart 中:

#!/bin/bash
ids=`ls /dev/input/by-id | grep -E '.*-mouse'`
[ "$ids" ] && synclient TouchpadOff=1

触摸板识别错误

对于某些型号的机器,Arch 下触摸板识别会有问题(内核bug),官方建议从 AUR 安装 psmouse-alps-driver
受影响的机器有:

  • Acer Aspire 7750G
  • Dell Latitude E6230, E6520, E6430 and E6530 (ALPS DualPoint TouchPad), Inspiron N5110 (ALPS GlidePoint), Inspiron 14R Turbo SE7420/SE7520 (ALPS GlidePoint)
  • Samsung NC110/NF210/QX310/QX410/QX510/SF310/SF410/SF510/RF410/RF510/RF710/RV515

如果问题还没有解决,可以手动编译该模块载入内核。

  1. 卸载原有 Alps 触摸板驱动

    pacman -R psmouse-alps-driver
  2. 从这里下载:http://www.dahetral.com/public-download

  3. 解压缩,并拷贝至 /usr/src

    tar -xvf alps-xxx.tar
    sudo cp -r usr /
  4. 加入编译树,并进行编译

    sudo dkms add psmouse/alps-xxx
    sudo dkms autoinstall
  5. 卸载原有模块并载入新的内核模块

    sudo rmmod psmouse || sudo modprobe psmouse
版权声明:本文为博主原创文章,转载请附上原文链接。

Linux 下触控板的配置

笔记本一般都有一个用来完成鼠标工作的设备,指点杆或是触控板,后者多一些。不过这个东西和标准的鼠标还不太一样,所以配置起来还是有一点玄机的,否则,功能可能无法充分发挥 ...
  • gnawuxx
  • gnawuxx
  • 2004年12月27日 19:18
  • 1614

Linux触摸板自然滚动

原文发布在github.io博客 转载写明出处:http://landerlyoung.github.io/blog/2014/01/12/linuxchong-mo-ban-zi-...
  • LanderlYoung
  • LanderlYoung
  • 2014年01月15日 16:30
  • 2389

linux关闭触摸板命令

Method 1: 终端输入如下命令: sudo modprobe -r psmouse 如果打开触摸板就是: sudo modprobe psmouse ------- Metho...
  • junmuzi
  • junmuzi
  • 2014年08月11日 12:59
  • 5189

ubuntu linux 触控板失灵的解决方案

这几天研究内核的模块机制,看到in s mo d
  • u014292052
  • u014292052
  • 2014年11月17日 21:12
  • 1898

linux下开启-禁止笔记本触摸板命令

临时禁止触摸板:sudo modprobe -r psmouse 开启触摸板:sudo modprobe -a psmouse 永远禁用触摸板: sudo vi /etc/mod...
  • dandanteng
  • dandanteng
  • 2012年01月05日 13:37
  • 5659

Linux下Synaptics笔记本触摸板的配置

[本人baidu博客全部搬家到csdn,baidu博客地址:http://hi.baidu.com/new/miracleconf] 笔记本上Synaptics的触摸板比较常见,但关于其配置...
  • jdl2011
  • jdl2011
  • 2012年07月17日 12:56
  • 1145

Linux驱动学习笔记----------触摸屏驱动

关于 触摸屏的驱动,其实也是input输入子系统,只不过是一个升级版罢了。 我所说的都是基于韦老大所说,再加上自己的理解。这里关于输入子系统再做一些补充: —————–入子系统体系————...
  • m0_37661202
  • m0_37661202
  • 2017年06月18日 00:52
  • 1129

Linux下的触摸屏驱动

版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127   一.触摸屏理论概述 对于触摸屏驱动,我们主要需要掌握触摸屏驱动代码和应用层测试代码。下面讲的是基...
  • weiqing1981127
  • weiqing1981127
  • 2012年12月17日 09:04
  • 14562

关于arch配置touchpad触摸

https://wiki.archlinux.org/index.php/Touchpad_Synapticswiki很好,建议阅读。可以用synclient命令来配置属性, synclien...
  • chenyiyue
  • chenyiyue
  • 2016年11月26日 21:40
  • 679

linux下Synaptics触摸板设置双指触摸

我是用的ubuntu 8.04,这里并不打算讲xorg.conf 如何修改 驱动如何装,其实很多在ubuntu里也都帮你自动设置好了,只是说一下令我新奇的发现。本来以为多指触摸操作只是apple笔记本...
  • solitonor
  • solitonor
  • 2008年05月05日 22:45
  • 1072
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下的触摸板设置:以 Arch Linux 为例
举报原因:
原因补充:

(最多只允许输入30个字)