evdevtouch: Fix normalizedPosition

Set the available virtual screen geometry. This geometry
is needed for QEventPoint::normalizedPosition calculation.

Change-Id: I7e25488d62a5099c14b5c15fa2b4040ea32b9ecd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
(cherry picked from commit f7f618b3125289ab6ad68fe6c4ccf9864c41b02f)
This commit is contained in:
Valery Volgutov 2021-01-13 16:03:51 +03:00 committed by Volker Hilsheimer
parent 27cde01127
commit 39da07a4d3

View File

@ -49,6 +49,7 @@
#include <QtGui/qpointingdevice.h>
#include <QtGui/private/qhighdpiscaling_p.h>
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/private/qpointingdevice_p.h>
#include <mutex>
@ -465,6 +466,11 @@ void QEvdevTouchScreenHandler::registerPointingDevice()
m_device = new QPointingDevice(d->hw_name, id++,
QInputDevice::DeviceType::TouchScreen, QPointingDevice::PointerType::Finger,
caps, 16, 0);
auto geom = d->screenGeometry();
if (!geom.isNull())
QPointingDevicePrivate::get(m_device)->setAvailableVirtualGeometry(geom);
QWindowSystemInterface::registerInputDevice(m_device);
}