48 #include <QSocketNotifier> 51 class QInputDeviceManagerPrivate;
52 class QInputDevicePrivate;
55 class QInputDeviceManager;
57 class QInputDevice :
public QObject
61 Q_FLAGS(InputType InputTypeFlags)
62 friend class QInputDeviceManagerPrivate;
76 Q_DECLARE_FLAGS(InputTypeFlags, InputType)
78 explicit QInputDevice(QObject *parent = 0);
80 QString devicePath() const;
81 QList <
int> buttons() const;
82 QList <
int> switches() const;
83 QList <
int> relativeAxis() const;
84 QList <
int> absoluteAxis() const;
85 QInputDevice::InputTypeFlags type() const;
89 QInputDevicePrivate *d_ptr;
90 void setName(const QString &);
91 void setDevicePath(const QString &);
94 void addRelativeAxis(
int);
95 void addAbsoluteAxis(
int);
96 void setType(QInputDevice::InputTypeFlags flags);
100 Q_DECLARE_METATYPE(QInputDevice::InputType)
101 Q_DECLARE_METATYPE(QInputDevice::InputTypeFlags)
103 class QInputDeviceManagerPrivate;
105 class QInputDeviceManager : public QObject
108 Q_PROPERTY(
int deviceCount READ deviceCount NOTIFY deviceCountChanged)
109 Q_PROPERTY(QInputDevice::InputType deviceFilter READ deviceFilter WRITE setDeviceFilter NOTIFY deviceFilterChanged)
112 explicit QInputDeviceManager(QObject *parent = 0);
114 int deviceCount()
const;
115 int deviceCount(
const QInputDevice::InputType filter)
const;
117 void setDeviceFilter(QInputDevice::InputType filter);
118 QInputDevice::InputType deviceFilter();
120 QMap <QString, QInputDevice *> deviceMap();
121 Q_INVOKABLE QVector <QInputDevice *> deviceListOfType(QInputDevice::InputType filter);
125 void deviceAdded(
const QString & devicePath);
126 void deviceRemoved(
const QString & devicePath);
129 void deviceCountChanged(
int count);
130 void deviceFilterChanged(
const QInputDevice::InputType filter);
133 void addedDevice(
const QString & devicePath);
136 Q_DISABLE_COPY(QInputDeviceManager)
137 #if !defined(QT_SIMULATOR) 138 QInputDeviceManagerPrivate *
const d_ptr;
139 Q_DECLARE_PRIVATE(QInputDeviceManager)
143 #endif // QINPUTINFO_H