summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qtdiag/qtdiag.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp
index d5869c057..b710be8c6 100644
--- a/src/qtdiag/qtdiag.cpp
+++ b/src/qtdiag/qtdiag.cpp
@@ -43,6 +43,7 @@
# include <QtGui/QOpenGLFunctions>
#endif // QT_NO_OPENGL
#include <QtGui/QWindow>
+#include <QtGui/QTouchDevice>
#ifdef NETWORK_DIAG
# include <QSslSocket>
@@ -385,6 +386,33 @@ QString qtDiag(unsigned flags)
<< "\n\n";
}
+ const QList<const QTouchDevice *> touchDevices = QTouchDevice::devices();
+ if (!touchDevices.isEmpty()) {
+ str << "Touch devices: " << touchDevices.size() << '\n';
+ foreach (const QTouchDevice *device, touchDevices) {
+ str << " " << (device->type() == QTouchDevice::TouchScreen ? "TouchScreen" : "TouchPad")
+ << " \"" << device->name() << "\", max " << device->maximumTouchPoints()
+ << " touch points, capabilities:";
+ const QTouchDevice::Capabilities capabilities = device->capabilities();
+ if (capabilities & QTouchDevice::Position)
+ str << " Position";
+ if (capabilities & QTouchDevice::Area)
+ str << " Area";
+ if (capabilities & QTouchDevice::Pressure)
+ str << " Pressure";
+ if (capabilities & QTouchDevice::Velocity)
+ str << " Velocity";
+ if (capabilities & QTouchDevice::RawPositions)
+ str << " RawPositions";
+ if (capabilities & QTouchDevice::NormalizedPosition)
+ str << " NormalizedPosition";
+ if (capabilities & QTouchDevice::MouseEmulation)
+ str << " MouseEmulation";
+ str << '\n';
+ }
+ str << "\n\n";
+ }
+
#ifndef QT_NO_OPENGL
dumpGlInfo(str, flags & QtDiagGlExtensions);
str << "\n\n";