触摸板上的多点触控手势


11

我想知道如何在Ubuntu中配置多点触控手势。在Windows中,我可以使用synaptics驱动程序软件来执行此操作。

我已经习惯synclient了配置水龙头,palmdetect,滚动等。但是我也想要手势支持。有可能吗?

系统信息:Ubuntu 12.10,Synaptics Clickpad


想指定一些细节:我想要做的是能够为浏览器/鹦鹉螺的后退/前进按钮配置手势。在Windows中,我可以使用三指滑动来完成此操作。类似地最小化/打开所有窗口。在Win7中,可以使用四指向上或向下滑动来完成此操作。我想要类似Mac的东西。这可能吗?
kapad 2012年

Answers:


11

2016年9月15日更新Multitouch开箱即用,下面列出的所有解决方案(mtrack,synclient,ginn等)都会使事情变得混乱,因此,如果您是从需要它们的较旧内核进行更新,请删除所有帮助器应用程序,并使用适用于桌面管理器的触摸板ui尝试开箱即用的内核行为。它应该可以满足您的需要,如果您想要更多的手势和内容,请添加简单的笔画,效果很好。现在,它已在常规内核输入驱动程序中进行了排序,并且至少从4.1.32内核开始就可以正常工作,尽管某些4.0早期的内核无法正常工作。当前的LTS内核4.4和4.7都可以正常工作。

更新9/2015 ... 3.14或更高版本的内核现在已内置大多数多点触控,因此,如果遇到问题,请尝试卸载mtrack。自内核3.14以来,内置的多点触控驱动程序和easystroke对我来说都工作正常,尽管4.0及更高版本的回归似乎破坏了苹果触控板。虽然3.18内核工作得很好。

有很多解决方案,其中大多数还有些生硬。许多记录在案的文件都已过时,因此请确保您查看使用Google的日期。

Ubuntu在鼠标/触摸板设置小程序中内置了基本手势(两根手指)。
我发现它随机变暗,然后两个手指的滚动会变成灰色,使我陷入漫长的谷歌搜索链中,也许会把它找回来。
然后我尝试了touchegg,有时这种方法行得通。
这是最简单的配置,并且有很好的说明,但是它基于该问题的较旧的守护程序解决方案。
ubuntu多点触控操作方法(由于我只能包含两个链接,因此您必须对其进行Google搜索)已经过时,但正在逐步解决。它提供了另一套补丁解决方案,但是正在更新中。

我当前使用的解决方案是mtrack(在回购协议中)与easystroke(必须从源代码进行编译)相结合。
如果我理解正确的话,Mtrack支持多点触控的内核版本,而不是像touchegg和ginn这样的临时解决方案,但是easystroke是另一个守护程序解决方案,该解决方案目前在mtrack上似乎很好用。

Mtrack的方法似乎是发展的方向。

如果使用其他东西(ginn,touchegg),请先将其卸载,然后从存储库全名xserver-xorg-input-mtrack安装mtrack

配置起来很痛苦,我还没摸到三根手指。有关人员的各种配置文件,请参见线程末尾的链接。我使用了一个苹果魔术触控板,虽然它在两次轻击和拖动(例如移动窗口)方面存在烦人的毛病,但它确实非常有用。解决方法是使用实​​际的按钮单击来移动窗口,或者在移动窗口之前双击并保持一秒钟后犹豫。

我只是发现了easystroke,直到mtrack得到一个gui为止,如果您足够冒险尝试编译程序,则可能要尝试一下。

一旦通过运行进行编译并由make -j2安装sudo make install,请启动easystroke -g以获取GUI并进入Wiki页面以获取指导。

您可能需要解决的另一个问题是驱动程序。

如果使用mtrack,则可能需要对文件重新编号,以便最后读取mtrack驱动程序,否则突触设置将捕获所有内容。

这些驱动程序存储在/usr/share/X11/xorg.conf.d中

mtrack驱动程序复制到/etc/X11/xorg.conf.d,编辑该文件夹中的设置(有关方法,请参阅链接的线程和README)以获取三指优势(或使用easystroke),然后重命名该文件的编号更高,因此50-mtrack.conf变为60-mtrack.conf,否则我发现突触驱动程序将在一半时间内抓住您的触摸板。

将文件放在/ etc中意味着它不会在/ usr文件之类的更新上被覆盖,并且它是最后读取的文件,因此它优先于/ usr中的默认驱动程序。

希望这可以帮助。这是一个相当活跃的发展领域,所以我写的任何东西可能会在一年之内过时,希望会更好。


嘿,谢谢您的答复。抱歉,花了一段时间检查它:)
kapad

关于此问题的适当解决方案有什么消息吗?仍然无法使其正常工作。.–
tomyo

如今似乎有一个简单的软件包,并且-g选项是未知的。如果没有该参数,它将启动GUI。:) PS:我跑薄荷16
赫伯特

2

我只是想建议使用我在github上提供的mtrack的延续:https : //github.com/p2rkw/xf86-input-mtrack,因为它支持三指拖动(自述文件底部的说明)。

我也将它与easystroke结合使用,但是我不得不修改easystroke来消除对绝对设备的一些限制,并进行了此简单更改(我不记得这样做的确切原因,对不起):

diff --git a/handler.cc b/handler.cc
index 8830ea2..c9e3f91 100644
--- a/handler.cc
+++ b/handler.cc
@@ -563,7 +563,7 @@ protected:
        }
 protected:
        void move_back() {
-               if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+               if (!prefs.move_back.get())
                        return;
                XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0);
        }

我还减少了手势的错误余量:

diff --git a/gesture.cc b/gesture.cc
index 8531c08..0df990e 100644
--- a/gesture.cc
+++ b/gesture.cc
@@ -104,9 +104,9 @@ int Stroke::compare(RStroke a, RStroke b, double &score) {
                return -1;
        score = MAX(1.0 - 2.5*cost, 0.0);
        if (a->timeout)
-               return score > 0.85;
+               return score > 0.95;
        else
-               return score > 0.7;
+               return score > 0.92;
 }

...而且效果很好。

有关痛苦的配置的旁注:您可以使用xinput对其进行动态配置,然后相应地编辑xorg.conf,或使用xinput调用创建启动脚本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.