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 中的多点触控的主要内容,如果未能解决你的问题,请参考以下文章

多点触控与多鼠标支持

iOS 上 MonoTouch 中的多点触控

Qt 5.5 WebEngineView 和多点触控

python+Appium自动化:MultiAction多点触控

android想要利用多点触控放大或者缩小一个view该怎么实现

MultiTouch————多点触控,伸缩图片,变换图片位置