48#include <QSocketNotifier>
51class QInputDeviceManagerPrivate;
52class QInputDevicePrivate;
55class QInputDeviceManager;
57class QInputDevice :
public QObject
60 friend class QInputDeviceManagerPrivate;
74 Q_DECLARE_FLAGS(InputTypeFlags, InputType)
75 Q_FLAG(InputTypeFlags)
77 explicit QInputDevice(QObject *parent = 0);
79 QString devicePath()
const;
80 QList <int> buttons()
const;
81 QList <int> switches()
const;
82 QList <int> relativeAxis()
const;
83 QList <int> absoluteAxis()
const;
84 QInputDevice::InputTypeFlags type()
const;
88 QInputDevicePrivate *d_ptr;
89 void setName(
const QString &);
90 void setDevicePath(
const QString &);
93 void addRelativeAxis(
int);
94 void addAbsoluteAxis(
int);
95 void setType(QInputDevice::InputTypeFlags flags);
99Q_DECLARE_METATYPE(QInputDevice::InputType)
100Q_DECLARE_METATYPE(QInputDevice::InputTypeFlags)
102class QInputDeviceManagerPrivate;
104class QInputDeviceManager :
public QObject
107 Q_PROPERTY(
int deviceCount READ deviceCount NOTIFY deviceCountChanged)
108 Q_PROPERTY(QInputDevice::InputType deviceFilter READ deviceFilter WRITE setDeviceFilter NOTIFY deviceFilterChanged)
111 explicit QInputDeviceManager(QObject *parent = 0);
113 int deviceCount()
const;
114 int deviceCount(
const QInputDevice::InputType filter)
const;
116 void setDeviceFilter(QInputDevice::InputType filter);
117 QInputDevice::InputType deviceFilter();
119 QMap <QString, QInputDevice *> deviceMap();
120 Q_INVOKABLE QVector <QInputDevice *> deviceListOfType(QInputDevice::InputType filter);
124 void deviceAdded(
const QString & devicePath);
125 void deviceRemoved(
const QString & devicePath);
128 void deviceCountChanged(
int count);
129 void deviceFilterChanged(
const QInputDevice::InputType filter);
132 void addedDevice(
const QString & devicePath);
135 Q_DISABLE_COPY(QInputDeviceManager)
136#if !defined(QT_SIMULATOR)
137 QInputDeviceManagerPrivate *
const d_ptr;
138 Q_DECLARE_PRIVATE(QInputDeviceManager)