13#if QT_CONFIG(wayland_datadevice)
14#include "qwaylanddatadevice_p.h"
15#include "qwaylanddatadevicemanager_p.h"
17#if QT_CONFIG(clipboard)
18#include "qwaylanddatacontrolv1_p.h"
20#if QT_CONFIG(wayland_client_primary_selection)
21#include "qwaylandprimaryselectionv1_p.h"
23#if QT_CONFIG(tabletevent)
24#include "qwaylandtabletv2_p.h"
39#include <QtGui/private/qpixmap_raster_p.h>
40#include <QtGui/private/qguiapplication_p.h>
41#include <qpa/qplatformwindow.h>
42#include <qpa/qplatforminputcontext.h>
43#include <qpa/qplatformtheme.h>
51#include <wayland-cursor.h>
54#include <QtGui/QGuiApplication>
55#include <QtGui/QPointingDevice>
70 delayTimer.setSingleShot(
true);
75 using namespace std::chrono_literals;
77 if (!QCoreApplication::testAttribute(Qt::AA_CompressHighFrequencyEvents))
80 const auto elapsed = timeElapsed.durationElapsed();
82 if (elapsed < 100us || delayTimer.isActive())
116#if QT_CONFIG(xkbcommon)
355#if QT_CONFIG(clipboard)
361#if QT_CONFIG(wayland_datadevice)
367#if QT_CONFIG(wayland_client_primary_selection)
388#if QT_CONFIG(tabletevent)
512#if QT_CONFIG(wayland_datadevice)
524#if QT_CONFIG(clipboard)
536#if QT_CONFIG(wayland_client_primary_selection)
553#if QT_CONFIG(tabletevent)
608#if QT_CONFIG(xkbcommon)
629#if QT_CONFIG(xkbcommon)
669#if QT_CONFIG(tabletevent)
679 EnterEvent(QWaylandWindow *surface,
const QPointF &local,
const QPointF &global)
698 <<
"leave event first, this is not allowed by the wayland protocol"
699 <<
"attempting to work around it by invalidating the current focus";
728 LeaveEvent(QWaylandWindow *surface,
const QPointF &localPos,
const QPointF &globalPos)
757 MotionEvent(QWaylandWindow *surface, ulong timestamp,
const QPointF &localPos,
758 const QPointF &globalPos, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
795 PressEvent(QWaylandWindow *surface, ulong timestamp,
const QPointF &localPos,
796 const QPointF &globalPos, Qt::MouseButtons buttons, Qt::MouseButton button,
797 Qt::KeyboardModifiers modifiers)
807 ReleaseEvent(QWaylandWindow *surface, ulong timestamp,
const QPointF &localPos,
808 const QPointF &globalPos, Qt::MouseButtons buttons, Qt::MouseButton button,
809 Qt::KeyboardModifiers modifiers)
905 WheelEvent(QWaylandWindow *surface, Qt::ScrollPhase phase, ulong timestamp,
const QPointF &local,
906 const QPointF &global,
const QPoint &pixelDelta,
const QPoint &angleDelta,
907 Qt::MouseEventSource source, Qt::KeyboardModifiers modifiers,
bool inverted)
988 <<
"This is most likely a compositor bug";
1245#if QT_CONFIG(xkbcommon)
1320 <<
"wl_surface argument does not match the current focus"
1321 <<
"This is most likely a compositor bug";
1381#if QT_CONFIG(xkbcommon)
1450#if QT_CONFIG(xkbcommon)
1633#include "moc_qwaylandinputdevice_p.cpp"
EnterEvent(QWaylandWindow *surface, const QPointF &local, const QPointF &global)
LeaveEvent(QWaylandWindow *surface, const QPointF &localPos, const QPointF &globalPos)
MotionEvent(QWaylandWindow *surface, ulong timestamp, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers)
PressEvent(QWaylandWindow *surface, ulong timestamp, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButtons buttons, Qt::MouseButton button, Qt::KeyboardModifiers modifiers)
ReleaseEvent(QWaylandWindow *surface, ulong timestamp, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButtons buttons, Qt::MouseButton button, Qt::KeyboardModifiers modifiers)
WheelEvent(QWaylandWindow *surface, Qt::ScrollPhase phase, ulong timestamp, const QPointF &local, const QPointF &global, const QPoint &pixelDelta, const QPoint &angleDelta, Qt::MouseEventSource source, Qt::KeyboardModifiers modifiers, bool inverted)
Q_LOGGING_CATEGORY(lcQpaWayland, "qt.qpa.wayland")
static const int MaxTouchPoints
Q_DECLARE_LOGGING_CATEGORY(lcQpaWaylandInput)
QWaylandEventCompressionPrivate()