Linux 中的多点触控
Posted
技术标签:
【中文标题】Linux 中的多点触控【英文标题】:Multitouch in Linux 【发布时间】:2010-03-12 07:11:10 【问题描述】:我有两个问题:
-
如何在 linux 中模拟触摸事件。
如何在 Linux 中的 Qt 上使用多点触控。
【问题讨论】:
【参考方案1】:您可以通过直接调用qt_translateRawTouchEvent
来模拟触摸事件。 (此方法未记录,但在qapplication.cpp
中并已导出)。
你想把它放在文件的顶部:
// forward-declaration of Qt internal function
Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window,
QTouchEvent::DeviceType deviceType,
const QList<QTouchEvent::TouchPoint> &touchPoints);
函数调用语法是:
qt_translateRawTouchEvent(targetWidget, deviceType, points.values());
在您的情况下,使用(NULL, QTouchEvent::TouchScreen, touchPoints)
调用此方法,其中touchPoints
是您当前被用户触摸的点列表。
这至少应该在 Qt 4.7 和 4.8 中工作,可能在 Qt 5 之前,但我没有检查。
【讨论】:
【参考方案2】:对于多点触控问题,您可能想看看 Qt 添加的Gestures API。
【讨论】:
Ок,但是如何在 Linux 中模拟触摸?我需要模拟手势。 @Alex Snet:我不知道如何模拟触摸事件。当您提出多个这样的问题时,您需要预料到有些人可能只知道其中一个问题的答案。以上是关于Linux 中的多点触控的主要内容,如果未能解决你的问题,请参考以下文章
python+Appium自动化:MultiAction多点触控