用惯了Macbook还是非常羡慕Apple家的触摸板的,虽然win和Linux下触控板的能力确实比Apple家差远了,但并不妨碍我们给ArchLinux增加一下触摸板手势吧,毕竟只能单双击实在是太不爽了。
安装
安装libinput和xf86-input-libinput,需要开启yaourt并把当前用户加入到input组。1
2sudo gpasswd -a $USER input
sudo pacman -S libinput xf86-input-libinput
基础配置
通常安装后默认的配置文件在/usr/share/X11/xorg.conf.d/
目录下,查看可以看到多个驱动:
1 | cd usr/share/X11/xorg.conf.d/ |
这里驱动文件夹前面的数字指的是优先级,优先使用数字较大的驱动,可以看到libinput的是40。
然后我们需要把默认配置文件拷贝到/etc/X11/xorg.conf.d/
中:
1 | sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/40-libinput.conf |
修改配置文件中的touchpad部分,注意每个硬件可能显示的型号不一样1
2
3
4
5
6
7
8
9
10
11Section "InputClass"
Identifier "touchpad"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "on"
Option "ButtonMapping" "1 3 0 4 5 6 7"
Option "TappingButtonMap" "lrm"
Option "DisableWhileTyping" "on"
Option "TappingDrag" "on"
EndSection
这个文件的配置说明可以在libinput man page: based on X.Org input dirver中查到。
直接使用上述配置文件时的效果是单指=左键,双指=右键,三指=中键。
调试
要实现进一步的自定义手势,首先需要捕获触控板的操作事件,第一步:
扫描一下设备列表:
1 | xinput list |
找到你的触控板后查看其详细配置:
1 | xinput list-props "你的触控板设备名字" |
在输出信息中记下Device Node
后面的event数值,比如event7,这个就是我们要捕获的操作了。
输入libinput debug-gui --device /dev/input/event7
会出现一个图形化的操作检测界面,来确定你的触摸板能不能检测到你的操作。如果一切顺利应该是没有问题的。
添加自定义手势
要执行自定义手势你还需要自定义按键,sudo pacman -S xdotool
libinput-gestures安装后会有默认的配置,位置在/etc/libinput-gestures.conf
,用户可以在~/.config/libinput-gestures.conf
配置自己的配置。
1 | nano ~/.config/libinput-gestures.conf |
下面提供一下我自己的配置文件:
1 | # 四指滑动=左右切换工作区 |
执行libinput-gestures-setup start
来启动手势支持
执行libinput-gestures-setup autostart
来添加服务自启动
关于xdotool的更多用法请参见xdotool的Github主页