笔者之前体验过Mac OS X上的触摸板,对触摸板的工作区切换手势可谓印象深刻。而笔者所使用的笔记本搭载了支持5只手指的触摸板,因此很希望能够在此之上实现3只手指以上的手势识别和交互。
这样,一款叫 Touchégg 的软件进入了笔者视野,利用这款软件,笔者在 Linux 桌面环境上实现了接近 Mac OS X 上的工作区切换手势。
安装笔者使用的是 Debian,其他发行版可依此参考。
安装依赖:$ sudo apt-get install build-essential libqt4-dev libgeis-dev libx11-6 libxtst-dev
下载源代码:$ git clone https://github.com/JoseExposito/touchegg
编译:$ cd touchegg
$ qmake
$ make
安装:$ sudo make install
直接执行 touchegg 即可(也可以根据需要配置开机自动运行,参考 ArchWiki )
配置用户的配置文件位于 ~/.config/touchegg/touchegg.conf,这是一个类似XML的配置文件,我们可以参考已有的配置进行设置。(也有一个图形化配置工具)
Touchégg 支持对不同的应用程序采用不同的配置,这通过 application 元素进行区分。
在 application 中配置需要识别的手势,即 gesture 元素,gesture 支持以下手势:
配置文件的写法:TAP
可用方向选项:无移动用1到5根手指在触摸板/屏上移动
配置文件的写法:DRAG
可用方向选项:up/down/left/right捏合用2到5根手指在触摸板/屏上捏合或松开
配置文件写法:PINCH
可用方向选项:in/out旋转用2到5根手指在触摸板/屏上旋转
配置文件写法:ROTATE
可用方向选项:left/right拖动在触摸板/屏上用1到5根手指轻触再移动
配置文件写法:TAP_AND_HOLD
可用方向选项:up/down/left/right双击用1到5跟手指双击
配置文件写法:DOUBLE_TAP
可用方向选项:无
之后再配置每个 gesture 对应的 action:
笔者使用的手势参考:
<application name="All">
<gesture type="DRAG" fingers="4" direction="LEFT">
<action type="CHANGE_DESKTOP">NEXT</action>
</gesture>
<gesture type="DRAG" fingers="4" direction="RIGHT">
<action type="CHANGE_DESKTOP">PREVIOUS</action>
</gesture>
</application>
此外,笔者对代码进行了修改,在切换工作区时不允许无限滚动。
GitHub: https://github.com/Eventide/touchegg