summaryrefslogtreecommitdiffstats
path: root/src/plugins/generic/tuiotouch/qtuiohandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/generic/tuiotouch/qtuiohandler.cpp')
-rw-r--r--src/plugins/generic/tuiotouch/qtuiohandler.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/plugins/generic/tuiotouch/qtuiohandler.cpp b/src/plugins/generic/tuiotouch/qtuiohandler.cpp
index 6ad4597b19..1ef50915d8 100644
--- a/src/plugins/generic/tuiotouch/qtuiohandler.cpp
+++ b/src/plugins/generic/tuiotouch/qtuiohandler.cpp
@@ -47,7 +47,7 @@
#include <qpa/qwindowsysteminterface.h>
-#include <QTouchDevice>
+#include <QPointingDevice>
#include <QWindow>
#include <QGuiApplication>
@@ -68,7 +68,6 @@ Q_LOGGING_CATEGORY(lcTuioSet, "qt.qpa.tuio.set")
static bool forceDelivery = qEnvironmentVariableIsSet("QT_TUIOTOUCH_DELIVER_WITHOUT_FOCUS");
QTuioHandler::QTuioHandler(const QString &specification)
- : m_device(new QTouchDevice) // not leaked, QTouchDevice cleans up registered devices itself
{
QStringList args = specification.split(':');
int portNumber = 3333;
@@ -111,13 +110,17 @@ QTuioHandler::QTuioHandler(const QString &specification)
if (inverty)
m_transform *= QTransform::fromTranslate(0.5, 0.5).scale(1.0, -1.0).translate(-0.5, -0.5);
- m_device->setName("TUIO"); // TODO: multiple based on SOURCE?
- m_device->setType(QTouchDevice::TouchScreen);
- m_device->setCapabilities(QTouchDevice::Position |
- QTouchDevice::Area |
- QTouchDevice::Velocity |
- QTouchDevice::NormalizedPosition);
- QWindowSystemInterface::registerTouchDevice(m_device);
+ // not leaked, QPointingDevice cleans up registered devices itself
+ // TODO register each device based on SOURCE, not just an all-purpose generic touchscreen
+ // TODO define seats when multiple connections occur
+ m_device = new QPointingDevice(QLatin1String("TUIO"), 1, QInputDevice::DeviceType::TouchScreen,
+ QPointingDevice::PointerType::Finger,
+ QInputDevice::Capability::Position |
+ QInputDevice::Capability::Area |
+ QInputDevice::Capability::Velocity |
+ QInputDevice::Capability::NormalizedPosition,
+ 16, 0);
+ QWindowSystemInterface::registerInputDevice(m_device);
if (!m_socket.bind(QHostAddress::Any, portNumber)) {
qCWarning(lcTuioHandler) << "Failed to bind TUIO socket: " << m_socket.errorString();