author | mickeyl <mickeyl> | 2003-06-03 14:38:09 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-06-03 14:38:09 (UTC) |
commit | 4e0c9efab5f3c73a1843e96983c9cd1894e44810 (patch) (side-by-side diff) | |
tree | 8d885b0a0c08047f7cfb194c7f3bc6539e927f2c | |
parent | f80c2829f8660402df7a6d5667d6022f366cd44b (diff) | |
download | opie-4e0c9efab5f3c73a1843e96983c9cd1894e44810.zip opie-4e0c9efab5f3c73a1843e96983c9cd1894e44810.tar.gz opie-4e0c9efab5f3c73a1843e96983c9cd1894e44810.tar.bz2 |
eliminate the non-tslib patch for the simpad.
simpad support now _needs_ tslib with Qt/Embedded.
-rw-r--r-- | qt/qte234-for-opie091-simpad.patch | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/qt/qte234-for-opie091-simpad.patch b/qt/qte234-for-opie091-simpad.patch index e4af4f7..5b892d4 100644 --- a/qt/qte234-for-opie091-simpad.patch +++ b/qt/qte234-for-opie091-simpad.patch @@ -1,154 +1,128 @@ ---- src/kernel/qwsmouse_qws.cpp.orig 2003-01-31 04:34:52.000000000 +0100 -+++ src/kernel/qwsmouse_qws.cpp 2003-03-10 12:26:40.000000000 +0100 -@@ -61,12 +61,14 @@ - #endif - - #if defined(QT_QWS_IPAQ) -+#include <sys/time.h> - #define QT_QWS_IPAQ_RAW - typedef struct { - unsigned short pressure; - unsigned short x; - unsigned short y; - unsigned short pad; -+ struct timeval stamp; - } TS_EVENT; - #elif defined(QT_QWS_SL5XXX) - #define QT_QWS_SL5XXX_RAW -@@ -1241,7 +1243,7 @@ - #if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) - #if defined(QT_QWS_IPAQ) - # ifdef QT_QWS_IPAQ_RAW -- if ((mouseFD = open( "/dev/h3600_tsraw", O_RDONLY | O_NDELAY)) < 0) { -+ if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK /*O_NDELAY*/)) < 0) { - # else - if ((mouseFD = open( "/dev/h3600_ts", O_RDONLY | O_NDELAY)) < 0) { - # endif --- src/kernel/qkeyboard_qws.cpp.orig Fri May 30 16:05:20 2003 +++ src/kernel/qkeyboard_qws.cpp Fri May 30 16:03:41 2003 @@ -37,6 +37,7 @@ #include <qapplication.h> #include <qsocketnotifier.h> #include <qnamespace.h> +#include <qdatetime.h> #include <qtimer.h> #include <stdlib.h> @@ -131,6 +132,59 @@ #endif // QNX6 +/* + * SIMpad switches handler + * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> + */ + +//TODO: guard this against inclusion with #ifdef QT_QWS_SIMPAD + +#include <linux/switches.h> +#define SIMPAD_SWITCHES_DEVICE "/dev/misc/switches" + +// switches from left top to right down over the SIMpad surface + +#define SIMPAD_SWITCH_POWER 0x02 +#define SIMPAD_SWITCH_UPPER 0x10 +#define SIMPAD_SWITCH_UP 0x20 +#define SIMPAD_SWITCH_DOWN 0x40 +#define SIMPAD_SWITCH_LEFT 0x80 +#define SIMPAD_SWITCH_RIGHT 0x100 +#define SIMPAD_SWITCH_LOWER 0x8 + +class QWSsimpadButtonsHandler : public QWSKeyboardHandler +{ + Q_OBJECT + + public: + QWSsimpadButtonsHandler(); + virtual ~QWSsimpadButtonsHandler(); + + bool isOpen() { return fd > 0; } + + private slots: + void readSwitchesData(); + void autoRepeat(); + + private: + switches_mask_t switches; + + int fd; + int repeatdelay; + int repeatperiod; + + int lastCode; // last native code + int lastPress; // last press/release state + + int k; // last emitted Qt key code + int shiftKeyPressed; // true if one of the SHIFT keys has been pressed and not yet released + bool shiftUsed; // true if SHIFT has been used + + QTime eventTimer; // tracks time between raw events + QTimer* repeater; + QSocketNotifier *notifier; +}; + #ifdef QT_QWS_SL5XXX static const QWSServer::KeyMap keyM[] = { { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 00 @@ -1440,7 +1494,11 @@ } else { type = spec; } - + if ( type == "SIMpad" ) + { + qDebug( "QWSKeyboardHandler: using SIMpad keyboard handler..." ); + handler = new QWSsimpadButtonsHandler(); + } if ( type == "Buttons" ) { #if defined(QT_QWS_YOPY) handler = new QWSyopyButtonsHandler(); @@ -1469,6 +1527,217 @@ return keyM; } -#endif // QT_NO_QWS_KEYBOARD +/* + * SIMpad switches handler + * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> + */ + + +QWSsimpadButtonsHandler::QWSsimpadButtonsHandler() + :QWSKeyboardHandler(), fd( -1 ), + repeatdelay( 700 ), repeatperiod( 80 ), + lastCode( 0 ), lastPress( 0 ), + k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false ) +{ + qDebug( "SimpadButtonsHandler() - V4.1" ); + fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 ); + if ( fd < 0 ) + { + qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE ); + return; + } + notifier = new QSocketNotifier( fd, QSocketNotifier::Read, this ); + connect( notifier, SIGNAL( activated(int) ),this, SLOT( readSwitchesData() ) ); + + repeater = new QTimer(this); + connect(repeater, SIGNAL(timeout()), this, SLOT(autoRepeat())); + +} + + +QWSsimpadButtonsHandler::~QWSsimpadButtonsHandler() +{ + qDebug( "~SimpadButtonsHandler()" ); + if ( fd > 0 ) + { + ::close( fd ); + fd = -1; + } +} + |