diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2009-03-23 09:18:55 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-03-23 09:18:55 (GMT) |
commit | e5fcad302d86d316390c6b0f62759a067313e8a9 (patch) | |
tree | c2afbf6f1066b6ce261f14341cf6d310e5595bc1 /src/plugins/mousedrivers | |
download | Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.zip Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.gz Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.bz2 |
Long live Qt 4.5!
Diffstat (limited to 'src/plugins/mousedrivers')
18 files changed, 959 insertions, 0 deletions
diff --git a/src/plugins/mousedrivers/bus/bus.pro b/src/plugins/mousedrivers/bus/bus.pro new file mode 100644 index 0000000..cdb0332 --- /dev/null +++ b/src/plugins/mousedrivers/bus/bus.pro @@ -0,0 +1,14 @@ +TARGET = qbusmousedriver +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers +target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + +DEFINES += QT_QWS_MOUSE_BUS + +HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmousebus_qws.h + +SOURCES = main.cpp \ + $$QT_SOURCE_TREE/src/gui/embedded/qmousebus_qws.cpp + diff --git a/src/plugins/mousedrivers/bus/main.cpp b/src/plugins/mousedrivers/bus/main.cpp new file mode 100644 index 0000000..f42657b --- /dev/null +++ b/src/plugins/mousedrivers/bus/main.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qmousedriverplugin_qws.h> +#include <qmousebus_qws.h> + +QT_BEGIN_NAMESPACE + +class QBusMouseDriver : public QMouseDriverPlugin +{ +public: + QBusMouseDriver(); + + QStringList keys() const; + QWSMouseHandler* create(const QString &driver, const QString &device); +}; + +QBusMouseDriver::QBusMouseDriver() + : QMouseDriverPlugin() +{ +} + +QStringList QBusMouseDriver::keys() const +{ + return (QStringList() << "Bus"); +} + +QWSMouseHandler* QBusMouseDriver::create(const QString &driver, + const QString &device) +{ + if (driver.compare(QLatin1String("Bus"), Qt::CaseInsensitive)) + return 0; + return new QWSBusMouseHandler(driver, device); +} + +Q_EXPORT_PLUGIN2(qwsbusmousehandler, QBusMouseDriver) + +QT_END_NAMESPACE diff --git a/src/plugins/mousedrivers/linuxis/linuxis.pro b/src/plugins/mousedrivers/linuxis/linuxis.pro new file mode 100644 index 0000000..bcc209b --- /dev/null +++ b/src/plugins/mousedrivers/linuxis/linuxis.pro @@ -0,0 +1,10 @@ +TARGET = linuxismousehandler +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers +target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + +HEADERS = linuxismousedriverplugin.h linuxismousehandler.h +SOURCES = linuxismousedriverplugin.cpp linuxismousehandler.cpp + diff --git a/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp b/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp new file mode 100644 index 0000000..58afa2a --- /dev/null +++ b/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "linuxismousedriverplugin.h" +#include "linuxismousehandler.h" + +#include <qdebug.h> +#if 1 +#define qLog(x) qDebug() +#else +#define qLog(x) while (0) qDebug() +#endif +LinuxInputSubsystemMouseDriverPlugin::LinuxInputSubsystemMouseDriverPlugin( QObject *parent ) + : QMouseDriverPlugin( parent ) +{ +} + +LinuxInputSubsystemMouseDriverPlugin::~LinuxInputSubsystemMouseDriverPlugin() +{ +} + +QWSMouseHandler* LinuxInputSubsystemMouseDriverPlugin::create(const QString& driver, const QString& device) +{ + if ( driver.toLower() == "linuxis" ) { + qLog(Input) << "Before call LinuxInputSubsystemMouseHandler()"; + return new LinuxInputSubsystemMouseHandler(device); + } + return 0; +} + +QWSMouseHandler* LinuxInputSubsystemMouseDriverPlugin::create(const QString& driver) +{ + if( driver.toLower() == "linuxis" ) { + qLog(Input) << "Before call LinuxInputSubsystemMouseHandler()"; + return new LinuxInputSubsystemMouseHandler(); + } + return 0; +} + +QStringList LinuxInputSubsystemMouseDriverPlugin::keys() const +{ + return QStringList() << "linuxis"; +} + +Q_EXPORT_PLUGIN2(qwslinuxismousehandler, LinuxInputSubsystemMouseDriverPlugin) diff --git a/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h b/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h new file mode 100644 index 0000000..cf7f0f0 --- /dev/null +++ b/src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h @@ -0,0 +1,58 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef LINUXISMOUSEDRIVERPLUGIN_H +#define LINUXISMOUSEDRIVERPLUGIN_H + +#include <QtGui/QWSMouseHandlerFactoryInterface> + +class LinuxInputSubsystemMouseDriverPlugin : public QMouseDriverPlugin { + Q_OBJECT +public: + LinuxInputSubsystemMouseDriverPlugin( QObject *parent = 0 ); + ~LinuxInputSubsystemMouseDriverPlugin(); + + QWSMouseHandler* create(const QString& driver); + QWSMouseHandler* create(const QString& driver, const QString& device); + QStringList keys()const; +}; + +#endif // LINUXISMOUSEDRIVERPLUGIN_H diff --git a/src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp b/src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp new file mode 100644 index 0000000..b7dc3b1 --- /dev/null +++ b/src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp @@ -0,0 +1,180 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "linuxismousehandler.h" + +#include <QFile> +#include <QTextStream> +#include <QScreen> +#include <QSocketNotifier> +#include <QDebug> + +#include <qdebug.h> + +#include <string.h> +#include <errno.h> +#include <stdlib.h> +#include <fcntl.h> +#include <unistd.h> +#include <limits.h> + +#include <linux/input.h> + + +#if 1 +#define qLog(x) qDebug() +#else +#define qLog(x) while (0) qDebug() +#endif + + +// sanity check values of the range of possible mouse positions +#define MOUSE_SAMPLE_MIN 0 +#define MOUSE_SAMPLE_MAX 2000 + +LinuxInputSubsystemMouseHandler::LinuxInputSubsystemMouseHandler(const QString &device) + : mouseX(0), mouseY(0), mouseBtn(0), mouseIdx(0) +{ + qLog(Input) << "Loaded LinuxInputSubsystem touchscreen plugin!"; + setObjectName("LinuxInputSubsystem Mouse Handler"); + mouseFd = ::open(device.toLocal8Bit().constData(), O_RDONLY | O_NDELAY); + // mouseFd = ::open(device.toLocal8Bit().constData(), O_RDONLY); + if (mouseFd >= 0) { + qLog(Input) << "Opened" << device << "as touchscreen input"; + m_notify = new QSocketNotifier(mouseFd, QSocketNotifier::Read, this); + connect(m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData())); + } else { + qWarning("Cannot open %s for touchscreen input (%s)", + device.toLocal8Bit().constData(), strerror(errno)); + return; + } +} + +LinuxInputSubsystemMouseHandler::~LinuxInputSubsystemMouseHandler() +{ + if (mouseFd >= 0) + ::close(mouseFd); +} + +void LinuxInputSubsystemMouseHandler::suspend() +{ + m_notify->setEnabled( false ); +} + +void LinuxInputSubsystemMouseHandler::resume() +{ + m_notify->setEnabled( true ); +} + +void LinuxInputSubsystemMouseHandler::readMouseData() +{ + if (!qt_screen) + return; + + int n; + + do { + n = read(mouseFd, mouseBuf + mouseIdx, mouseBufSize - mouseIdx); + if (n > 0) + mouseIdx += n; + + struct input_event *data; + int idx = 0; + + while (mouseIdx-idx >= (int)sizeof(struct input_event)) { + uchar *mb = mouseBuf + idx; + data = (struct input_event *) mb; + // qLog(Input) << "mouse event type =" << data->type << "code =" << data->code << "value =" << data->value; + bool unknown = false; + if (data->type == EV_ABS) { + if (data->code == ABS_X) { + //qLog(Input) << "\tABS_X" << data->value; + mouseX = data->value; + } else if (data->code == ABS_Y) { + //qLog(Input) << "\tABS_Y" << data->value; + mouseY = data->value; + } else { + unknown = true; + } + } else if (data->type == EV_REL) { + //qLog(Input) << "\tEV_REL" << hex << data->code << dec << data->value; + if (data->code == REL_X) { + mouseX += data->value; + } else if (data->code == REL_Y) { + mouseY += data->value; + } else { + unknown = true; + } + } else if (data->type == EV_KEY && data->code == BTN_TOUCH) { + qLog(Input) << "\tBTN_TOUCH" << data->value; + mouseBtn = data->value ? Qt::LeftButton : 0; + } else if (data->type == EV_KEY) { + int button = 0; + switch (data->code) { + case BTN_LEFT: button = Qt::LeftButton; break; + case BTN_MIDDLE: button = Qt::MidButton; break; + case BTN_RIGHT: button = Qt::RightButton; break; + } + if (data->value) + mouseBtn |= button; + else + mouseBtn &= ~button; + } else if (data->type == EV_SYN && data->code == SYN_REPORT) { + QPoint pos( mouseX, mouseY ); + oldmouse = transform( pos ); + //qLog(Input) << "\tSYN_REPORT" << mouseBtn << pos << oldmouse; + emit mouseChanged(oldmouse, mouseBtn); + + } else { + unknown = true; + } + if (unknown) { + qWarning("unknown mouse event type=%x, code=%x, value=%x", data->type, data->code, data->value); + } + idx += sizeof(struct input_event); + } + int surplus = mouseIdx - idx; + for (int i = 0; i < surplus; i++) + mouseBuf[i] = mouseBuf[idx+i]; + mouseIdx = surplus; + } while (n > 0); +} + diff --git a/src/plugins/mousedrivers/linuxis/linuxismousehandler.h b/src/plugins/mousedrivers/linuxis/linuxismousehandler.h new file mode 100644 index 0000000..e94ac36 --- /dev/null +++ b/src/plugins/mousedrivers/linuxis/linuxismousehandler.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef LINUXISMOUSEHANDLER_H +#define LINUXISMOUSEHANDLER_H + +#include <QtGui/QWSCalibratedMouseHandler> + +class QSocketNotifier; +class LinuxInputSubsystemMouseHandler : public QObject, public QWSCalibratedMouseHandler { + Q_OBJECT +public: + LinuxInputSubsystemMouseHandler(const QString &device = QString("/dev/input/event0")); + ~LinuxInputSubsystemMouseHandler(); + + void suspend(); + void resume(); + +private: + int mouseX, mouseY; + int mouseBtn; + static const int mouseBufSize = 2048; + uchar mouseBuf[mouseBufSize]; + int mouseIdx; + QPoint oldmouse; + + QSocketNotifier *m_notify; + int mouseFd; + +private Q_SLOTS: + void readMouseData(); +}; + +#endif // LINUXISMOUSEHANDLER_H diff --git a/src/plugins/mousedrivers/linuxtp/linuxtp.pro b/src/plugins/mousedrivers/linuxtp/linuxtp.pro new file mode 100644 index 0000000..ac1c8ff --- /dev/null +++ b/src/plugins/mousedrivers/linuxtp/linuxtp.pro @@ -0,0 +1,14 @@ +TARGET = qlinuxtpmousedriver +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers +target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + +DEFINES += QT_QWS_MOUSE_LINUXTP + +HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmouselinuxtp_qws.h + +SOURCES = main.cpp \ + $$QT_SOURCE_TREE/src/gui/embedded/qmouselinuxtp_qws.cpp + diff --git a/src/plugins/mousedrivers/linuxtp/main.cpp b/src/plugins/mousedrivers/linuxtp/main.cpp new file mode 100644 index 0000000..a5cb6cb --- /dev/null +++ b/src/plugins/mousedrivers/linuxtp/main.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qmousedriverplugin_qws.h> +#include <qmouselinuxtp_qws.h> + +QT_BEGIN_NAMESPACE + +class QLinuxTPMouseDriver : public QMouseDriverPlugin +{ +public: + QLinuxTPMouseDriver(); + + QStringList keys() const; + QWSMouseHandler* create(const QString &driver, const QString &device); +}; + +QLinuxTPMouseDriver::QLinuxTPMouseDriver() + : QMouseDriverPlugin() +{ +} + +QStringList QLinuxTPMouseDriver::keys() const +{ + return (QStringList() << "LinuxTP"); +} + +QWSMouseHandler* QLinuxTPMouseDriver::create(const QString &driver, + const QString &device) +{ + if (driver.compare(QLatin1String("LinuxTP"), Qt::CaseInsensitive)) + return 0; + return new QWSLinuxTPMouseHandler(driver, device); +} + +Q_EXPORT_PLUGIN2(qwslinuxtpmousehandler, QLinuxTPMouseDriver) + +QT_END_NAMESPACE diff --git a/src/plugins/mousedrivers/mousedrivers.pro b/src/plugins/mousedrivers/mousedrivers.pro new file mode 100644 index 0000000..e644361 --- /dev/null +++ b/src/plugins/mousedrivers/mousedrivers.pro @@ -0,0 +1,8 @@ +TEMPLATE = subdirs +contains(mouse-plugins, bus): SUBDIRS += bus +contains(mouse-plugins, linuxtp): SUBDIRS += linuxtp +contains(mouse-plugins, pc): SUBDIRS += pc +contains(mouse-plugins, tslib): SUBDIRS += tslib +contains(mouse-plugins, vr41xx): SUBDIRS += vr41xx +contains(mouse-plugins, yopy): SUBDIRS += yopy +contains(mouse-plugins, linuxis): SUBDIRS += linuxis diff --git a/src/plugins/mousedrivers/pc/main.cpp b/src/plugins/mousedrivers/pc/main.cpp new file mode 100644 index 0000000..cce6e86 --- /dev/null +++ b/src/plugins/mousedrivers/pc/main.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qmousedriverplugin_qws.h> +#include <qmousepc_qws.h> + +QT_BEGIN_NAMESPACE + +class QPcMouseDriver : public QMouseDriverPlugin +{ +public: + QPcMouseDriver(); + + QStringList keys() const; + QWSMouseHandler* create(const QString &driver, const QString &device); +}; + +QPcMouseDriver::QPcMouseDriver() + : QMouseDriverPlugin() +{ +} + +QStringList QPcMouseDriver::keys() const +{ + return (QStringList() + << QLatin1String("Auto") + << QLatin1String("IntelliMouse") + << QLatin1String("Microsoft") + << QLatin1String("MouseSystems") + << QLatin1String("MouseMan")); +} + +QWSMouseHandler* QPcMouseDriver::create(const QString &driver, + const QString &device) +{ + if (!keys().contains(driver, Qt::CaseInsensitive)) + return 0; + return new QWSPcMouseHandler(driver, device); +} + +Q_EXPORT_PLUGIN2(qwspcmousehandler, QPcMouseDriver) + +QT_END_NAMESPACE diff --git a/src/plugins/mousedrivers/pc/pc.pro b/src/plugins/mousedrivers/pc/pc.pro new file mode 100644 index 0000000..b93b25b --- /dev/null +++ b/src/plugins/mousedrivers/pc/pc.pro @@ -0,0 +1,14 @@ +TARGET = qpcmousedriver +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers +target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + +DEFINES += QT_QWS_MOUSE_PC + +HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmousepc_qws.h + +SOURCES = main.cpp \ + $$QT_SOURCE_TREE/src/gui/embedded/qmousepc_qws.cpp + diff --git a/src/plugins/mousedrivers/tslib/main.cpp b/src/plugins/mousedrivers/tslib/main.cpp new file mode 100644 index 0000000..dba53a0 --- /dev/null +++ b/src/plugins/mousedrivers/tslib/main.cpp @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qmousedriverplugin_qws.h> +#include <qmousetslib_qws.h> + +QT_BEGIN_NAMESPACE + +class TslibMouseDriver : public QMouseDriverPlugin +{ +public: + TslibMouseDriver(); + + QStringList keys() const; + QWSMouseHandler* create(const QString &driver, const QString &device); +}; + +TslibMouseDriver::TslibMouseDriver() + : QMouseDriverPlugin() +{ +} + +QStringList TslibMouseDriver::keys() const +{ + return (QStringList() << "tslib"); +} + +QWSMouseHandler* TslibMouseDriver::create(const QString &driver, + const QString &device) +{ + if (driver.toLower() != "tslib") + return 0; + return new QWSTslibMouseHandler(driver, device); +} + +Q_EXPORT_STATIC_PLUGIN(TslibMouseDriver) +Q_EXPORT_PLUGIN2(qwstslibmousehandler, TslibMouseDriver) + +QT_END_NAMESPACE diff --git a/src/plugins/mousedrivers/tslib/tslib.pro b/src/plugins/mousedrivers/tslib/tslib.pro new file mode 100644 index 0000000..7b0748d --- /dev/null +++ b/src/plugins/mousedrivers/tslib/tslib.pro @@ -0,0 +1,16 @@ +TARGET = qtslibmousedriver +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers + +HEADERS = \ + $$QT_SOURCE_TREE/src/gui/embedded/qmousedriverplugin_qws.h \ + $$QT_SOURCE_TREE/src/gui/embedded/qmousetslib_qws.h +SOURCES = main.cpp \ + $$QT_SOURCE_TREE/src/gui/embedded/qmousetslib_qws.cpp + +LIBS += -lts + +target.path += $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + diff --git a/src/plugins/mousedrivers/vr41xx/main.cpp b/src/plugins/mousedrivers/vr41xx/main.cpp new file mode 100644 index 0000000..1ccf944 --- /dev/null +++ b/src/plugins/mousedrivers/vr41xx/main.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qmousedriverplugin_qws.h> +#include <qmousevr41xx_qws.h> + +QT_BEGIN_NAMESPACE + +class QVr41xxMouseDriver : public QMouseDriverPlugin +{ +public: + QVr41xxMouseDriver(); + + QStringList keys() const; + QWSMouseHandler* create(const QString &driver, const QString &device); +}; + +QVr41xxMouseDriver::QVr41xxMouseDriver() + : QMouseDriverPlugin() +{ +} + +QStringList QVr41xxMouseDriver::keys() const +{ + return (QStringList() << QLatin1String("VR41xx")); +} + +QWSMouseHandler* QVr41xxMouseDriver::create(const QString &driver, + const QString &device) +{ + if (driver.compare(QLatin1String("VR41xx"), Qt::CaseInsensitive)) + return 0; + return new QWSVr41xxMouseHandler(driver, device); +} + +Q_EXPORT_PLUGIN2(qwsvr41xxmousehandler, QVr41xxMouseDriver) + +QT_END_NAMESPACE diff --git a/src/plugins/mousedrivers/vr41xx/vr41xx.pro b/src/plugins/mousedrivers/vr41xx/vr41xx.pro new file mode 100644 index 0000000..1c22d04 --- /dev/null +++ b/src/plugins/mousedrivers/vr41xx/vr41xx.pro @@ -0,0 +1,14 @@ +TARGET = qvr41xxmousedriver +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers +target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + +DEFINES += QT_QWS_MOUSE_VR41XX + +HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmousevr41xx_qws.h + +SOURCES = main.cpp \ + $$QT_SOURCE_TREE/src/gui/embedded/qmousevr41xx_qws.cpp + diff --git a/src/plugins/mousedrivers/yopy/main.cpp b/src/plugins/mousedrivers/yopy/main.cpp new file mode 100644 index 0000000..fa61bf8 --- /dev/null +++ b/src/plugins/mousedrivers/yopy/main.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qmousedriverplugin_qws.h> +#include <qmouseyopy_qws.h> + +QT_BEGIN_NAMESPACE + +class QYopyMouseDriver : public QMouseDriverPlugin +{ +public: + QYopyMouseDriver(); + + QStringList keys() const; + QWSMouseHandler* create(const QString &driver, const QString &device); +}; + +QYopyMouseDriver::QYopyMouseDriver() + : QMouseDriverPlugin() +{ +} + +QStringList QYopyMouseDriver::keys() const +{ + return (QStringList() << QLatin1String("Yopy")); +} + +QWSMouseHandler* QYopyMouseDriver::create(const QString &driver, + const QString &device) +{ + if (driver.compare(QLatin1String("yopy"), Qt::CaseInsensitive)) + return 0; + return new QWSYopyMouseHandler(driver, device); +} + +Q_EXPORT_PLUGIN2(qwsyopymousehandler, QYopyMouseDriver) + +QT_END_NAMESPACE diff --git a/src/plugins/mousedrivers/yopy/yopy.pro b/src/plugins/mousedrivers/yopy/yopy.pro new file mode 100644 index 0000000..3045430 --- /dev/null +++ b/src/plugins/mousedrivers/yopy/yopy.pro @@ -0,0 +1,14 @@ +TARGET = qyopymousedriver +include(../../qpluginbase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/mousedrivers +target.path = $$[QT_INSTALL_PLUGINS]/mousedrivers +INSTALLS += target + +DEFINES += QT_QWS_MOUSE_YOPY + +HEADERS = $$QT_SOURCE_TREE/src/gui/embedded/qmouseyopy_qws.h + +SOURCES = main.cpp \ + $$QT_SOURCE_TREE/src/gui/embedded/qmouseyopy_qws.cpp + |