From fcea0310a307a4adf36f382806b34ff1ee3eb913 Mon Sep 17 00:00:00 2001 From: Paul Lemire Date: Mon, 25 Apr 2016 13:44:23 +0200 Subject: MouseEventFilter: handle HoverMove events When using Scene3D, there are no MouseMove events. Instead there are HoverMove events being generated. For that reason we intercept these to allow the MouseHandlers to receive positionChanged events when used with Scene3D Change-Id: I638a86a1b574e3f99163e0b1b13cb47c83acdc1e Reviewed-by: Sean Harmer (cherry picked from commit dd2710011fd1cf840de0ab194bf74ca65f112221) Reviewed-by: Paul Lemire --- src/input/backend/mouseeventfilter.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/input/backend/mouseeventfilter.cpp b/src/input/backend/mouseeventfilter.cpp index fcf8eb922..ccfc4981d 100644 --- a/src/input/backend/mouseeventfilter.cpp +++ b/src/input/backend/mouseeventfilter.cpp @@ -61,6 +61,14 @@ bool MouseEventFilter::eventFilter(QObject *obj, QEvent *e) { Q_UNUSED(obj); switch (e->type()) { + // When dealing with QtQuick events, there are nove MouseMove events + // only hover events which are transmitted if hoverEnabled was set to true on the Scene3D + case QEvent::HoverMove: + { + const QHoverEvent *event = static_cast(e); + m_inputHandler->appendMouseEvent(QMouseEvent(QEvent::MouseMove, event->posF(), Qt::NoButton, Qt::NoButton, event->modifiers())); + break; + } case QEvent::MouseButtonPress: case QEvent::MouseButtonRelease: case QEvent::MouseMove: -- cgit v1.2.3