Linux 设置多指触控手势,以 Manjaro 为例

  • date: 2020-09-5
  • lastmod: 2021-09-29

在 Plasma(KDE) 上借助 gestures、xdotool 设置多手指触控手势,如双指缩放,三指换任务、桌面等。

前情提要(可跳过进入下一节 “怎么做”)

Plasma 桌面中有虚拟桌面和活动两者神奇的玩意(可在 “设置“-“工作区行为“ 中找到);看起来效果都差不多,都是切换出了一个新桌面。但是切换活动有快捷键(Meta+Tab),切换虚拟桌面则没有,只有一个 Ctrl+F8 显示所有虚拟桌面,可以在任务栏加一个调度器来切换虚拟桌面。然而连遍历窗口都有个 Alt+Tab 。。。

便想着自定义快捷键(可在 “设置“-“快捷键“ 中找到),然而学了下里面的示例和 Konqueror手势,自己新建了一个发现不太行,不知道切换虚拟桌面的“动作“,尝试绘制手势的触发器的时候发现用触摸板无法绘制。。想起之前看到 Hello Github 推荐了一个 coder 借助 libinput 写了个快捷切换的,本想着去看一下怎么借鉴,后来想一下会不会有人写好了,搜索一番确实是有人写好了。

怎么做

  • Linux xx 5.13.12-1-MANJARO
  • gestures 0.2.5-1
  • libinput-gestures 2.67-1
  • xdotool 3.20210804.2-1

我使用的是 Manjaro,可以方便的在 pamac 中安装 xdotool, gestures。Arch 系列需要从 AUR 中获取。不得不说,这一点上 manjaro 已经将 gestures 并入主仓库,而且将 libinput-gestures 作为依赖。总的来说, libinput-gestures 是一个很好的软件,可以自定义手势,而 gestures 呢就是给它套上一层包装,让不会命令行的人也能用(目前来说还需要搜索能力)。

安装完成之后需要将自己加入 input 用户组 - sudo gpasswd -a $USER input

之后就是启动 Gesture 来添加自定义触摸手势了。点击左上角的加号来添加新手势,类型(Type)可以选择 Swipe(滑动、刷) 或者 Pinch(捏),之后根据类型选择方向,最后选择指数(234,滑动模式仅支持34,不然会和系统冲突)。

选择好参数之后,在底部的输入框输出对于的快捷键指令,然后点击 Confirm 确定。比如你想给 F5 添加手势,对应的指令就是 xdotool key F5,想给遍历窗口加手势对于的指令是 xdotool key Alt+Tab,很好理解,最后加键位,多个按键用加号连接。

设置完之后想要修改就点击左上角加号旁边的铅笔,这时候就可以对已有的设置进行修改或删除。

自定义触控手势

libinput-gestures-setup start|stop|restart|autostart|autostop|status

libinput-gestures 的用户配置文件位于 $HOME/.config/libinput-gestures.conf,我设置了四个自定义手势,分别是三指上下左右滑动:查看全部桌面、查看所有活动、切换到第二个桌面、切换到第一个桌面。参考 陆道峰的文章添加了网页双指缩放的快捷手势(发现里面的 ctrl 不区分大小写唉)

gesture swipe up 3 xdotool key ctrl+F8
gesture swipe down 3 xdotool key ctrl+F10
gesture swipe left 3 xdotool key Ctrl+F2
gesture swipe right 3 xdotool key Ctrl+F1

gesture pinch in 2 xdotool key ctrl+minus
gesture pinch out 2 xdotool key ctrl+plus

参考

Logo

更多推荐