By - 3月, 10th 2016
笔者之前体验过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的配置文件,我们可以参考已有的配置进行设置。(也有一个图形化配置工具)
在 application 中配置需要识别的手势,即 gesture 元素,gesture 支持以下手势:
轻触
在触摸板/屏上用1到5根手指进行点击
配置文件的写法: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:
写法
选项
说明
MOUSE_CLICK
BUTTON=1..9
模拟鼠标点击
1 – 左键
2 – 中键
3 – 右键
8 – 后退
9 – 前进
DRAG_AND_DROP
BUTTON=1..3
用相应的鼠标按键拖动
SCROLL
SPEED=1..10
INVERTED=true/false
模拟垂直滚动,SPEED越大速度越快
INVERTED 表示反向滚动
SEND_KEYS
Key1+Key2+KeyN
模拟组合键具体按键可在 /usr/include/X11/keysymdef.h 中查询(去掉 “XK_”)
MINIMIZE_WINDOW
–
最小化窗口
MAXIMIZE_
RESTORE_WINDOW
–
最大化或还原窗口
CLOSE_WINDOW
–
关闭窗口
RESIZE_WINDOW
–
调整窗口大小,一般与捏合手势搭配
MOVE_WINDOW
–
移动窗口
SHOW_DESKTOP
–
第一次显示桌面,第二次恢复窗口
CHANGE_DESKTOP
NEXT/PREVIOUS
切换到前一个或后一个桌面
CHANGE_VIEWPORT
NEXT/PREVIOUS
Changes to the next or previous viewport
RUN_COMMAND
需要运行的命令
运行命令
笔者使用的手势参考:
NEXT
PREVIOUS
此外,笔者对代码进行了修改,在切换工作区时不允许无限滚动。
GitHub: https://github.com/Eventide/touchegg
参考: