From 2471a5f348084ded48fd738683dde0137528c30d Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 30 Jun 2010 12:45:42 +0200 Subject: Improved a bit detection of a touch screen on Windows. Use the bitfield description from MSDN instead of just checking if there is any kind of digitizer. Reviewed-by: Prasanth --- src/gui/kernel/qapplication_win.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index ef719ca..9e8a128 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -4086,7 +4086,12 @@ void QApplicationPrivate::initializeMultitouch_sys() { if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) { static const int QT_SM_DIGITIZER = 94; - QApplicationPrivate::HasTouchSupport = GetSystemMetrics(QT_SM_DIGITIZER); + int value = GetSystemMetrics(QT_SM_DIGITIZER); + static const int QT_NID_INTEGRATED_TOUCH = 0x01; + static const int QT_NID_EXTERNAL_TOUCH = 0x02; + static const int QT_NID_MULTI_INPUT = 0x40; + QApplicationPrivate::HasTouchSupport = + value & (QT_NID_INTEGRATED_TOUCH | QT_NID_EXTERNAL_TOUCH | QT_NID_MULTI_INPUT); } QLibrary library(QLatin1String("user32")); -- cgit v0.12