diff options
-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()); |