From c16f6d40518fce6576c311c658956e21f7d52372 Mon Sep 17 00:00:00 2001 From: Lu YaNing Date: Wed, 11 Oct 2023 19:47:32 +0800 Subject: [PATCH] client: Provide seatname for multi-seat In a multi-seat configuration the seat name can be used by clients to help identify which physical devices the seat represents. Change-Id: Id704ad289fe861c2170380f1575d298e8db03964 Reviewed-by: David Edmundson --- src/plugins/platforms/wayland/qwaylandinputdevice.cpp | 5 +++++ src/plugins/platforms/wayland/qwaylandinputdevice_p.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp index 0cffb8811f8..f26595708ea 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp @@ -473,6 +473,11 @@ void QWaylandInputDevice::seat_capabilities(uint32_t caps) } } +void QWaylandInputDevice::seat_name(const QString &name) +{ + mSeatName = name; +} + QWaylandInputDevice::Keyboard *QWaylandInputDevice::createKeyboard(QWaylandInputDevice *device) { return new Keyboard(device); diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice_p.h b/src/plugins/platforms/wayland/qwaylandinputdevice_p.h index ddd23ad98d7..4051cf898c9 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice_p.h +++ b/src/plugins/platforms/wayland/qwaylandinputdevice_p.h @@ -84,6 +84,7 @@ public: ~QWaylandInputDevice() override; uint32_t capabilities() const { return mCaps; } + QString seatname() const { return mSeatName; } QWaylandDisplay *display() const { return mQDisplay; } struct ::wl_seat *wl_seat() { return QtWayland::wl_seat::object(); } @@ -143,6 +144,7 @@ protected: struct wl_display *mDisplay = nullptr; uint32_t mCaps = 0; + QString mSeatName; #if QT_CONFIG(cursor) struct CursorState { @@ -179,6 +181,7 @@ protected: uint32_t mSerial = 0; void seat_capabilities(uint32_t caps) override; + void seat_name(const QString &name) override; void handleTouchPoint(int id, QEventPoint::State state, const QPointF &surfacePosition = QPoint()); QPointingDevice *mTouchDevice = nullptr;