42 #include "qinputinfo.h"
44 #if defined(Q_OS_LINUX)
45 #include "linux/qinputdeviceinfo_linux_p.h"
51 QInputDevicePrivate::QInputDevicePrivate(QObject *parent) :
53 types(QInputDeviceInfo::Unknown)
57 QInputDevice::QInputDevice(QObject *parent) :
59 d_ptr(new QInputDevicePrivate(this))
63 QString QInputDevice::name()
const
68 void QInputDevice::setName(
const QString &name)
73 QString QInputDevice::devicePath()
const
75 return d_ptr->devicePath;
78 void QInputDevice::setDevicePath(
const QString &path)
80 d_ptr->devicePath = path;
83 QList <int> QInputDevice::buttons()
const
85 return d_ptr->buttons;
88 void QInputDevice::addButton(
int buttonCode)
90 d_ptr->buttons.append(buttonCode);
93 QList <int> QInputDevice::switches()
const
95 return d_ptr->switches;
98 void QInputDevice::addSwitch(
int switchCode)
100 d_ptr->switches.append(switchCode);
103 QList <int> QInputDevice::relativeAxis()
const
105 return d_ptr->relativeAxis;
108 void QInputDevice::addRelativeAxis(
int axisCode)
110 d_ptr->relativeAxis.append(axisCode);
113 QList <int> QInputDevice::absoluteAxis()
const
115 return d_ptr->absoluteAxis;
118 void QInputDevice::addAbsoluteAxis(
int axisCode)
120 d_ptr->absoluteAxis.append(axisCode);
123 QInputDeviceInfo::InputTypes QInputDevice::types()
128 void QInputDevice::setTypes(QInputDeviceInfo::InputTypes types)
130 d_ptr->types = types;
134 QInputDeviceInfo::QInputDeviceInfo(QObject *parent) :
136 d_ptr(new QInputDeviceInfoPrivate(this))
138 connect(d_ptr, &QInputDeviceInfoPrivate::newDevice,
this,&QInputDeviceInfo::addedDevice);
139 connect(d_ptr, &QInputDeviceInfoPrivate::deviceRemoved,
this,&QInputDeviceInfo::deviceRemoved);
141 connect(d_ptr, &QInputDeviceInfoPrivate::ready,
this, &QInputDeviceInfo::ready);
144 QVector <QInputDevice *> QInputDeviceInfo::deviceList()
146 return d_ptr->deviceList;
149 QMap <QString, QInputDevice *> QInputDeviceInfo::deviceMap()
151 return d_ptr->deviceMap;
154 void QInputDeviceInfo::addedDevice(
const QString & devicePath)
156 Q_EMIT deviceAdded(devicePath);