diff options
author | Liang Qi <liang.qi@qt.io> | 2021-10-25 15:21:27 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2021-11-28 13:15:00 +0200 |
commit | 143f20692eefd972271df18d85023fca0378c226 (patch) | |
tree | 2cc7f6ca2f2799d7b3377b72838bd282b22d0bf1 /src | |
parent | 0e72a846d379ba02ff80ecac2526640a05b872b6 (diff) |
gui: add QInputDevice::seatNames()
Change-Id: Ie6cedd62dcd684a8fd9adbc2409e5aa1f3490ede
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qinputdevice.cpp | 19 | ||||
-rw-r--r-- | src/gui/kernel/qinputdevice.h | 1 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/gui/kernel/qinputdevice.cpp b/src/gui/kernel/qinputdevice.cpp index 4505a6b568..26975f478e 100644 --- a/src/gui/kernel/qinputdevice.cpp +++ b/src/gui/kernel/qinputdevice.cpp @@ -281,6 +281,25 @@ QList<const QInputDevice *> QInputDevice::devices() } /*! + \since 6.3 + + Returns a list of seat names for all registered input devices (keyboards and pointing devices). +*/ +QStringList QInputDevice::seatNames() +{ + QMutexLocker locker(&devicesMutex); + const InputDevicesList devices = *deviceList(); + locker.unlock(); + QStringList result; + for (const QInputDevice *d : devices) { + if (!result.contains(d->seatName())) + result.append(d->seatName()); + } + + return result; +} + +/*! Returns the core or master keyboard on the given seat \a seatName. */ const QInputDevice *QInputDevice::primaryKeyboard(const QString& seatName) diff --git a/src/gui/kernel/qinputdevice.h b/src/gui/kernel/qinputdevice.h index 206f783b4b..589bf344af 100644 --- a/src/gui/kernel/qinputdevice.h +++ b/src/gui/kernel/qinputdevice.h @@ -110,6 +110,7 @@ public: QString seatName() const; QRect availableVirtualGeometry() const; + static QStringList seatNames(); static QList<const QInputDevice *> devices(); static const QInputDevice *primaryKeyboard(const QString& seatName = QString()); |