diff options
-rw-r--r-- | src/qtdiag/qtdiag.cpp | 28 |
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"; |