Ubuntu下配置触屏笔记本

自苹果公司在2007年发布iPod Touch以来,触控操作迅速席卷了移动领域,成为最流行的交互方式,众多硬件厂商趋之若鹜,触控显示器、触控笔记本层出不穷。而始作俑者苹果公司在这场狂热中压根就没推出过桌面级的屏幕触控设备(ipad就是个娱乐终端)。另一方面,传统的操作系统领域也没有兴起多大波澜。最早有志于统一桌面的Unity已黯然退场;首次支持触控的Windows 8 被市场否定,Windows 10又改回经典界面;软件厂商观望了一阵,看桌面领域没什么赚头,就纷纷开发App去了。人们发现,磨合了三十多年的鼠标键盘工作流并不能简单地被手指替代,哪怕是十指触控。硬件虽好,但缺乏系统和软件的支持也只能做个噱头。

x1yoga 新版Win10针对触控操作做了许多优化,可以为平板提供足够的支持(在Surface Pro上用Drawboard PDF看论文图书还是很有效率的)。相比之下,Linux的体验就不那么友好了。默认的软件和设置完全无法配合平板形态,需要自行设置和优化。我用的Thinkpad X1 Yoga 在 Mint Linux 18.2 下触控屏手指缩放无效,自带的 Wacom 触控笔灵敏度过高,尚未接触屏幕就直接触发点击,笔的按钮也不能触发右键。好在Linux 下的 Wacom 驱动有着相当完善的接口,这些问题都可以通过修改设置解决,这一点可比Surface方便多了。Linux 下 Wacom 驱动的介绍页面是 http://linuxwacom.sourceforge.net/wiki/ , 其中也包括多点触控屏幕的设置。简单来说,需要关闭驱动的手势控制,启用系统的两点控制来实现自带文件、图片、网站等各类浏览器中的手势缩放;修改电磁笔的触发阈值来修正灵敏度。

脚本如下,修改权限后加到配置文件.profile中自动运行即可,如果是其他机型可以用xinput命令查看对应的触控屏和触控笔名称。
算法查找词组替换就好。下面是 python 代码:

这样触屏和电磁笔就都能用了。不过,menu 我还经常需要将屏幕旋转90度在平板模式下阅读文献(PDF Studio可以完美查看编辑PDF批注,永中Office对Office文档的支持也足够完善)。翻转屏幕可以通过xrandr命令实现。但光旋转屏幕是不行的,笔触和手触的座标定位也都需要进行同步变换,同时另一面的键盘、触摸板和指点杆也需要禁用以防误触。在平板模式下输入命令并不方便,于是我在github上找到了一个简单的旋屏工具ScreenRotator。它把旋屏功能放进了系统托盘。这就方便多了。受这个工具的启发,我重写了代码,加入了对Wacom触控屏和电磁笔的支持,并增加了平板模式下的常用开关和启动工具(虚拟键盘和截屏)。这样终于能够完全用笔或手指来操作电脑了。我也提供了关闭屏幕手触的选项,来避免用笔写字画画时的输入冲突。如果系统中没有对应设备,相关菜单就不会出现。这样硬件一流的Yoga在Ubuntu/Mint下终于可以作为平板使用了。

小程序使用界面如右图所示。工具可以去我的项目主页查看最新版,也可以直接在本地下载。代码基于python3,需要python3-gi, xbacklight等软件支持。如果需要自动启动,和前面的配置文件一样,将运行代码加入用户主目录下的 .profile文件中即可(如果遇到GTK无法初始化,不能进入桌面的bug,请在配置文件中注释,改为手动启动即可)。

当然,Linux下的触控功能仍有许多地方需要完善,例如Cinnamon桌面的锁屏界面就没有虚拟键盘,需要退回到用户选择界面中登录。不过这已经不是托盘程序能解决的问题了。电脑折腾好了,原本要看书的时间也过去了,也许下次想看书的时候就不用这么麻烦了吧。

订阅评论
提醒

3 评论
最旧
最新 最多投票
内联反馈
查看所有评论
房鹏飞
2019 年 4 月 11 日 10:11

您好,我根据您的方法解决了Miix520的多点触摸问题,关掉了触摸手势,但是现在单点触摸无法实现双击打开文件的操作,不知道是哪里出了问题,是不是Button映射出现了问题?另外Button设置这一块我不太明白,您能否给我讲讲,谢谢。

gerry
2020 年 2 月 15 日 22:39

现在的Linux是支持自动旋转的,Cinnamon桌面默认打开了禁用屏幕旋转的选项,可在常规设置(General)菜单中更改。长按为右键的功能也可以在辅助功能(Accessbility)菜单的鼠标面板中设定。