8#include "kwin_export.h"
18class ClientConnection;
21class SurfaceInterface;
22class TabletSurfaceCursorV2;
23class TabletSurfaceCursorV2Private;
24class TabletManagerV2InterfacePrivate;
25class TabletSeatV2Interface;
26class TabletSeatV2InterfacePrivate;
27class TabletToolV2InterfacePrivate;
28class TabletV2Interface;
29class TabletV2InterfacePrivate;
30class TabletPadV2Interface;
31class TabletPadV2InterfacePrivate;
32class TabletPadRingV2Interface;
33class TabletPadRingV2InterfacePrivate;
34class TabletPadStripV2Interface;
35class TabletPadStripV2InterfacePrivate;
36class TabletPadGroupV2Interface;
37class TabletPadGroupV2InterfacePrivate;
56 std::unique_ptr<TabletManagerV2InterfacePrivate> d;
64 QPoint hotspot()
const;
65 quint32 enteredSerial()
const;
73 const std::unique_ptr<TabletSurfaceCursorV2Private> d;
108 bool hasCapability(Capability capability)
const;
120 bool isClientSupported()
const;
122 quint32 proximitySerial()
const;
123 std::optional<quint32> downSerial()
const;
126 void sendProximityOut();
129 void sendPressure(quint32 pressure);
130 void sendDistance(quint32 distance);
131 void sendTilt(qreal degreesX, qreal degreesY);
132 void sendRotation(qreal degrees);
133 void sendSlider(qint32 position);
134 void sendWheel(qint32 degrees, qint32 clicks);
135 void sendButton(quint32 button,
bool pressed);
136 void sendFrame(quint32 time);
137 void sendMotion(
const QPointF &pos);
153 const QList<Capability> &capability);
154 std::unique_ptr<TabletToolV2InterfacePrivate> d;
165 void sendButton(std::chrono::microseconds time, quint32 button,
bool pressed);
184 std::unique_ptr<TabletPadV2InterfacePrivate> d;
198 void sendSource(Source source);
199 void sendAngle(qreal angle);
201 void sendFrame(quint32 time);
208 std::unique_ptr<TabletPadRingV2InterfacePrivate> d;
221 void sendSource(Source source);
222 void sendPosition(quint32 position);
223 void sendFrame(quint32 time);
231 std::unique_ptr<TabletPadStripV2InterfacePrivate> d;
240 void sendModeSwitch(quint32 time, quint32 serial, quint32 mode);
247 std::unique_ptr<TabletPadGroupV2InterfacePrivate> d;
268 explicit TabletV2Interface(quint32 vendorId, quint32 productId,
const QString &name,
const QStringList &paths, QObject *parent);
269 std::unique_ptr<TabletV2InterfacePrivate> d;
278 TabletV2Interface *addTablet(quint32 vendorId, quint32 productId,
const QString &sysname,
const QString &name,
const QStringList &paths);
281 const QStringList &paths,
289 addTool(
TabletToolV2Interface::Type type, quint64 hardwareSerial, quint64 hardwareId,
const QList<TabletToolV2Interface::Capability> &capabilities,
const QString &deviceSysName);
295 void removeDevice(
const QString &sysname);
299 bool hasImplicitGrab(quint32 serial)
const;
304 std::unique_ptr<TabletSeatV2InterfacePrivate> d;
Convenient Class which represents a wl_client.
Class holding the Wayland server display loop.
Represents a Seat on the Wayland Display.
Resource representing a wl_surface.
virtual ~TabletManagerV2Interface()
virtual ~TabletPadGroupV2Interface()
virtual ~TabletPadRingV2Interface()
virtual ~TabletPadStripV2Interface()
void feedback(KWin::ClientConnection *client, quint32 button, const QString &description, quint32 serial)
virtual ~TabletSeatV2Interface()
~TabletSurfaceCursorV2() override
std::variant< TabletSurfaceCursorV2 *, QByteArray > TabletCursorSourceV2