summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/kernel/qinputdevice.h2
-rw-r--r--src/plugins/platforms/ios/qiosintegration.mm5
-rw-r--r--src/plugins/platforms/ios/quiview.mm9
3 files changed, 7 insertions, 9 deletions
diff --git a/src/gui/kernel/qinputdevice.h b/src/gui/kernel/qinputdevice.h
index 2b7ce32d862..b7c0eb3b6f6 100644
--- a/src/gui/kernel/qinputdevice.h
+++ b/src/gui/kernel/qinputdevice.h
@@ -19,7 +19,7 @@ class Q_GUI_EXPORT QInputDevice : public QObject
Q_DECLARE_PRIVATE(QInputDevice)
Q_PROPERTY(QString name READ name CONSTANT)
Q_PROPERTY(DeviceType type READ type CONSTANT)
- Q_PROPERTY(Capabilities capabilities READ capabilities CONSTANT)
+ Q_PROPERTY(Capabilities capabilities READ capabilities)
Q_PROPERTY(qint64 systemId READ systemId CONSTANT)
Q_PROPERTY(QString seatName READ seatName CONSTANT)
Q_PROPERTY(QRect availableVirtualGeometry READ availableVirtualGeometry
diff --git a/src/plugins/platforms/ios/qiosintegration.mm b/src/plugins/platforms/ios/qiosintegration.mm
index 76173ce830a..69b79b111b3 100644
--- a/src/plugins/platforms/ios/qiosintegration.mm
+++ b/src/plugins/platforms/ios/qiosintegration.mm
@@ -94,14 +94,13 @@ void QIOSIntegration::initialize()
// Depends on a primary screen being present
m_inputContext = new QIOSInputContext;
- m_touchDevice = new QPointingDevice;
- m_touchDevice->setType(QInputDevice::DeviceType::TouchScreen);
QPointingDevice::Capabilities touchCapabilities = QPointingDevice::Capability::Position | QPointingDevice::Capability::NormalizedPosition;
#if !defined(Q_OS_VISIONOS)
if (mainScreen.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)
touchCapabilities |= QPointingDevice::Capability::Pressure;
#endif
- m_touchDevice->setCapabilities(touchCapabilities);
+ m_touchDevice = new QPointingDevice("touchscreen", 0, QInputDevice::DeviceType::TouchScreen,
+ QPointingDevice::PointerType::Finger, touchCapabilities, 10, 0);
QWindowSystemInterface::registerInputDevice(m_touchDevice);
#if QT_CONFIG(tabletevent)
QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(false);
diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm
index 7796e93c16d..fb9cfdbe7f5 100644
--- a/src/plugins/platforms/ios/quiview.mm
+++ b/src/plugins/platforms/ios/quiview.mm
@@ -20,6 +20,7 @@
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/private/qwindow_p.h>
#include <QtGui/private/qapplekeymapper_p.h>
+#include <QtGui/private/qpointingdevice_p.h>
#include <qpa/qwindowsysteminterface_p.h>
Q_LOGGING_CATEGORY(lcQpaTablet, "qt.qpa.input.tablet")
@@ -346,12 +347,10 @@ inline ulong getTimeStamp(UIEvent *event)
[super traitCollectionDidChange: previousTraitCollection];
QPointingDevice *touchDevice = QIOSIntegration::instance()->touchDevice();
- QPointingDevice::Capabilities touchCapabilities = touchDevice->capabilities();
+ auto *devicePriv = QPointingDevicePrivate::get(touchDevice);
- touchCapabilities.setFlag(QPointingDevice::Capability::Pressure,
- (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable));
-
- touchDevice->setCapabilities(touchCapabilities);
+ devicePriv->capabilities.setFlag(QPointingDevice::Capability::Pressure,
+ (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable));
}
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event