7#include <QtInputSupport/private/qevdevutil_p.h>
10#include <QGuiApplication>
11#include <QLoggingCategory>
12#include <QtDeviceDiscoverySupport/private/qdevicediscovery_p.h>
13#include <private/qguiapplication_p.h>
14#include <private/qinputdevicemanager_p_p.h>
34 m_spec = std::move(parsed.spec);
40 if (parsed.devices.isEmpty()) {
41 qCDebug(qLcEvdevTablet,
"evdevtablet: Using device discovery");
62 auto handler = std::make_unique<QEvdevTabletHandlerThread>(deviceNode, m_spec);
64 m_activeDevices.
add(deviceNode, std::move(handler));
73 if (m_activeDevices.
remove(deviceNode)) {
79void QEvdevTabletManager::updateDeviceCount()
IOBluetoothDevice * device
void deviceDetected(const QString &deviceNode)
static QDeviceDiscovery * create(QDeviceTypes type, QObject *parent=nullptr)
void deviceRemoved(const QString &deviceNode)
void addDevice(const QString &deviceNode)
void removeDevice(const QString &deviceNode)
static QInputDeviceManager * inputDeviceManager()
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLocal8Bit(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
ParsedSpecification parseSpecification(const QString &specification)
Combined button and popup list for selecting options.
#define qCDebug(category,...)
#define Q_DECLARE_LOGGING_CATEGORY(name)
#define qUtf16Printable(string)
Q_CORE_EXPORT QByteArray qgetenv(const char *varName)
Q_CORE_EXPORT bool qEnvironmentVariableIsSet(const char *varName) noexcept
connect(quitButton, &QPushButton::clicked, &app, &QCoreApplication::quit, Qt::QueuedConnection)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent