summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qinputdevice.cpp
diff options
context:
space:
mode:
authorLiang Qi <[email protected]>2021-10-25 15:21:27 +0200
committerLiang Qi <[email protected]>2021-11-28 13:15:00 +0200
commit143f20692eefd972271df18d85023fca0378c226 (patch)
tree2cc7f6ca2f2799d7b3377b72838bd282b22d0bf1 /src/gui/kernel/qinputdevice.cpp
parent0e72a846d379ba02ff80ecac2526640a05b872b6 (diff)
gui: add QInputDevice::seatNames()
Change-Id: Ie6cedd62dcd684a8fd9adbc2409e5aa1f3490ede Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'src/gui/kernel/qinputdevice.cpp')
-rw-r--r--src/gui/kernel/qinputdevice.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gui/kernel/qinputdevice.cpp b/src/gui/kernel/qinputdevice.cpp
index 4505a6b5688..26975f478e9 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)