summaryrefslogtreecommitdiffstats
path: root/src/plugins/generic/evdevmouse
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/generic/evdevmouse')
-rw-r--r--src/plugins/generic/evdevmouse/qevdevmousehandler.cpp22
-rw-r--r--src/plugins/generic/evdevmouse/qevdevmousehandler.h7
-rw-r--r--src/plugins/generic/evdevmouse/qevdevmousemanager.cpp9
3 files changed, 11 insertions, 27 deletions
diff --git a/src/plugins/generic/evdevmouse/qevdevmousehandler.cpp b/src/plugins/generic/evdevmouse/qevdevmousehandler.cpp
index 55392c20c4..439d2c095a 100644
--- a/src/plugins/generic/evdevmouse/qevdevmousehandler.cpp
+++ b/src/plugins/generic/evdevmouse/qevdevmousehandler.cpp
@@ -62,15 +62,12 @@
QT_BEGIN_NAMESPACE
-QEvdevMouseHandler *QEvdevMouseHandler::createLinuxInputMouseHandler(const QString &key, const QString &specification)
+QEvdevMouseHandler *QEvdevMouseHandler::create(const QString &device, const QString &specification)
{
#ifdef QT_QPA_MOUSE_HANDLER_DEBUG
- qWarning() << "Try to create mouse handler with" << key << specification;
-#else
- Q_UNUSED(key)
+ qWarning() << "Try to create mouse handler for" << device << specification;
#endif
- QString device = "/dev/input/event0";
bool compression = true;
int jitterLimit = 0;
@@ -80,28 +77,21 @@ QEvdevMouseHandler *QEvdevMouseHandler::createLinuxInputMouseHandler(const QStri
compression = false;
else if (arg.startsWith("dejitter="))
jitterLimit = arg.mid(9).toInt();
- else if (arg.startsWith(QLatin1String("/dev/")))
- device = arg;
}
-#ifdef QT_QPA_MOUSE_HANDLER_DEBUG
- qDebug("evdevmouse: Using device %s", qPrintable(device));
-#endif
-
int fd;
fd = qt_safe_open(device.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0);
if (fd >= 0) {
- return new QEvdevMouseHandler(fd, compression, jitterLimit);
+ return new QEvdevMouseHandler(device, fd, compression, jitterLimit);
} else {
qWarning("Cannot open mouse input device '%s': %s", qPrintable(device), strerror(errno));
return 0;
}
}
-QEvdevMouseHandler::QEvdevMouseHandler(int deviceDescriptor, bool compression, int jitterLimit)
- : m_notify(0), m_x(0), m_y(0), m_prevx(0), m_prevy(0),
- m_fd(deviceDescriptor), m_compression(compression),
- m_buttons(0)
+QEvdevMouseHandler::QEvdevMouseHandler(const QString &device, int fd, bool compression, int jitterLimit)
+ : m_device(device), m_fd(fd), m_notify(0), m_x(0), m_y(0), m_prevx(0), m_prevy(0),
+ m_compression(compression), m_buttons(0)
{
setObjectName(QLatin1String("Evdev Mouse Handler"));
diff --git a/src/plugins/generic/evdevmouse/qevdevmousehandler.h b/src/plugins/generic/evdevmouse/qevdevmousehandler.h
index d3d07bdce5..e3444735fe 100644
--- a/src/plugins/generic/evdevmouse/qevdevmousehandler.h
+++ b/src/plugins/generic/evdevmouse/qevdevmousehandler.h
@@ -55,7 +55,7 @@ class QEvdevMouseHandler : public QObject
{
Q_OBJECT
public:
- static QEvdevMouseHandler *createLinuxInputMouseHandler(const QString &key, const QString &specification);
+ static QEvdevMouseHandler *create(const QString &device, const QString &specification);
~QEvdevMouseHandler();
signals:
@@ -65,14 +65,15 @@ private slots:
void readMouseData();
private:
- QEvdevMouseHandler(int deviceDescriptor, bool compression, int jitterLimit);
+ QEvdevMouseHandler(const QString &device, int fd, bool compression, int jitterLimit);
void sendMouseEvent();
+ QString m_device;
+ int m_fd;
QSocketNotifier *m_notify;
int m_x, m_y;
int m_prevx, m_prevy;
- int m_fd;
bool m_compression;
Qt::MouseButtons m_buttons;
int m_jitterLimitSquared;
diff --git a/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp b/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp
index 8547e444f0..459164b9be 100644
--- a/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp
+++ b/src/plugins/generic/evdevmouse/qevdevmousemanager.cpp
@@ -138,15 +138,8 @@ void QEvdevMouseManager::addMouse(const QString &deviceNode)
qWarning() << "Adding mouse at" << deviceNode;
#endif
- QString specification = m_spec;
-
- if (!deviceNode.isEmpty()) {
- specification.append(":");
- specification.append(deviceNode);
- }
-
QEvdevMouseHandler *handler;
- handler = QEvdevMouseHandler::createLinuxInputMouseHandler("EvdevMouse", specification);
+ handler = QEvdevMouseHandler::create(deviceNode, m_spec);
if (handler) {
connect(handler, SIGNAL(handleMouseEvent(int, int, Qt::MouseButtons)), this, SLOT(handleMouseEvent(int, int, Qt::MouseButtons)));
m_mice.insert(deviceNode, handler);