我想知道如何在Ubuntu中配置多点触摸手势。在windows中,我可以使用synaptics驱动程序软件来实现这一点。
我已经使用synclient来配置水龙头、掌纹、滚动等等,但我也需要手势支持。甚至有可能吗?
System-Info: Ubuntu 12.10,Synaptics键盘
发布于 2012-12-02 21:47:07
更新9/15/2016多点触摸的工作方式,以及下面列出的所有解决方案(mtrack,synclient,ginn,.)如果您正在从需要更新的旧内核中更新,请删除所有的助手应用程序,并使用桌面管理器的触摸屏ui尝试开箱即用的内核行为。它应该做你需要做的,如果你想要更多的手势和东西,添加容易击,这是很好的工作。它现在在库存内核输入驱动程序中进行排序,并且没有问题,因为至少内核4.1.32,尽管一些早期的4.0内核无法工作。当前的LTS内核4.4工作正常,4.7也一样。
更新9/2015. 3.14以上的内核现在已经安装了大部分多点触摸,所以如果您有问题,请尝试卸载update。只是内置的多点触控驱动程序和易击功能从3.14内核开始对我很好,尽管4.0和4.0以上版本似乎有一个倒退,破坏了苹果触控板。3.18内核工作得很好。
有很多的解决方案,其中大部分还有点不成熟。很多文档都已经过时了,所以一定要查看你搜索到的内容的日期。
Ubuntu在鼠标/触摸屏设置applet中提供了基本的手势(2指)支持。
我发现它是随机中断的,然后两个手指滚动会神秘地变灰,让我在一条长长的搜索链上搜索,也许能把它拿回来。
然后我试了一下触地蛋,这种方法有时会起作用。
这是最简单的配置,有很好的说明,但它是基于一个较旧的守护进程解决方案的问题。
ubuntu的多点触摸操作(你必须谷歌它,因为我只能包括两个链接)已严重过时,但正在慢慢地工作。它提供了另一套零碎的解决方案,但正在更新过程中。
我目前使用的解决方案是磁道 (在repos中)和易击 (必须从源代码编译)。
如果我理解正确的话,mtrack支持多点触摸的内核版本,而不是一个临时的解决方案,比如Touch虫卵和ginn,但是easystroke是另一个守护进程解决方案,目前看来它在rather之上运行得很好。
Mtrack的方法似乎是发展的方向。
如果您使用它,然后从repos全名为xserver-xorg-input,则卸载其他内容(ginn,达克蛋)。
这是一个痛苦的配置,我没有三个手指可以滑动。查看线程末尾的链接,了解人们的各种配置文件。我使用苹果魔术触控板,这是相当不错的,虽然它有一个恼人的故障在双击和拖动,例如,移动窗口是不稳定的。解决办法是要么使用实际按钮单击移动窗口,要么在双击之后犹豫片刻,然后再移动窗口。
我刚刚发现了一个简单的击图,如果您有足够的冒险精神尝试编译一个程序,那么在mtrack得到一个gui之前,您可能想尝试这样做。
一旦通过运行make -j2编译并由sudo make install安装,就用easystroke -g启动它以获得GUI,然后转到wiki页面获取说明。
您可能需要解决的另一个问题是驱动程序。
如果您使用mtrack,您可能需要对文件重新编号,以便您的mtrack驱动程序最后读取,否则synaptics设置将获取所有内容。
这些驱动程序存储在/usr/share/X11/xorg.conf.d。
将mtrack驱动程序复制到/etc/x11/xorg.con.d,编辑该文件夹中的设置(请参阅链接的线程和README中的方法),如果可以(或使用easystroke),则获取您的三指优势,并将文件重命名为更高的编号,以便50-mtrack.conf变为60-mtrack.conf,否则我会发现突触驱动程序将占用您的触控板一半时间。
将该文件放入/etc中意味着它不会在像/usr文件这样的更新中被覆盖,并且它是最后读取的,因此在/usr中优先于默认驱动程序。
希望这能有所帮助。这是一个相当活跃的开发领域,所以我所写的东西可能在一年内就会过时,希望会变得更好。
发布于 2016-10-30 17:08:27
我只想建议使用我在github:https://github.com/p2rkw/xf86-input-mtrack上可用的mtrack的延续,因为它支持3指拖动(自述底部的说明)。
我还将它与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调用创建启动脚本。
https://askubuntu.com/questions/217889
复制相似问题