48 #include <QSocketNotifier> 51 class QInputDeviceManagerPrivate;
52 class QInputDevicePrivate;
55 class QInputDeviceManager;
57 class 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);
99 Q_DECLARE_METATYPE(QInputDevice::InputType)
100 Q_DECLARE_METATYPE(QInputDevice::InputTypeFlags)
102 class QInputDeviceManagerPrivate;
104 class 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)
142 #endif // QINPUTINFO_H