From 4f87c7f8fff258599f4841af0c3a714f8d79fb87 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 19 Jul 2007 07:41:13 +0000 Subject: qte 2.3.20: Move simpad 2.4 patches to deprecated. --- .../qte-2.3.10/deprecated/simpad-defaultkbd.patch | 11 + packages/qte/qte-2.3.10/deprecated/simpad.patch | 340 +++++++++++++++++++++ packages/qte/qte-2.3.10/simpad-defaultkbd.patch | 11 - packages/qte/qte-2.3.10/simpad.patch | 340 --------------------- packages/qte/qte-common_2.3.10.inc | 4 +- 5 files changed, 352 insertions(+), 354 deletions(-) create mode 100644 packages/qte/qte-2.3.10/deprecated/simpad-defaultkbd.patch create mode 100644 packages/qte/qte-2.3.10/deprecated/simpad.patch delete mode 100644 packages/qte/qte-2.3.10/simpad-defaultkbd.patch delete mode 100644 packages/qte/qte-2.3.10/simpad.patch diff --git a/packages/qte/qte-2.3.10/deprecated/simpad-defaultkbd.patch b/packages/qte/qte-2.3.10/deprecated/simpad-defaultkbd.patch new file mode 100644 index 0000000000..3e5450a4da --- /dev/null +++ b/packages/qte/qte-2.3.10/deprecated/simpad-defaultkbd.patch @@ -0,0 +1,11 @@ +--- qt-2.3.10/src/kernel/qwindowsystem_qws.cpp.orig 2005-11-30 10:53:32.000000000 +0100 ++++ qt-2.3.10/src/kernel/qwindowsystem_qws.cpp 2005-11-30 10:55:51.000000000 +0100 +@@ -2917,7 +2917,7 @@ + { + QString keyboards = getenv("QWS_KEYBOARD"); + if ( keyboards.isEmpty() ) { +-#if defined( QT_QWS_CASSIOPEIA ) ++#if defined( QT_QWS_CASSIOPEIA ) || defined( QT_QWS_SIMPAD ) + keyboards = "Buttons"; + #elif !defined(QT_NO_QWS_VFB) + extern bool qvfbEnabled; diff --git a/packages/qte/qte-2.3.10/deprecated/simpad.patch b/packages/qte/qte-2.3.10/deprecated/simpad.patch new file mode 100644 index 0000000000..8a728ef74a --- /dev/null +++ b/packages/qte/qte-2.3.10/deprecated/simpad.patch @@ -0,0 +1,340 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.10/src/kernel/qkeyboard_qws.cpp~simpad.patch ++++ qt-2.3.10/src/kernel/qkeyboard_qws.cpp +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -80,6 +81,60 @@ + #include + #endif + ++/* ++ * SIMpad switches handler ++ * (C) 2003-2005 Michael 'Mickey' Lauer ++ */ ++ ++ ++ ++#include ++#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 + #include + #endif +@@ -1775,9 +1830,11 @@ + } else { + type = spec; + } +- + if ( type == "Buttons" ) { +-#if defined(QT_QWS_YOPY) ++#if defined(QT_QWS_SIMPAD) ++ qDebug( "QWSKeyboardHandler: using SIMpad switches handler..." ); ++ handler = new QWSsimpadButtonsHandler(); ++#elif defined(QT_QWS_YOPY) + handler = new QWSyopyButtonsHandler(); + #elif defined(QT_QWS_CASSIOPEIA) + handler = new QWSVr41xxButtonsHandler(); +@@ -1812,6 +1869,218 @@ + return keyM; + } + +-#endif // QT_NO_QWS_KEYBOARD + ++/* ++ * SIMpad switches handler ++ * (C) 2003 Michael 'Mickey' Lauer ++ */ ++ ++ ++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; ++ } ++} ++ ++ ++void QWSsimpadButtonsHandler::readSwitchesData() ++{ ++ qDebug( "SimpadButtonsHandler() - detected switches action" ); ++ ++ if ( ::read( fd, &switches, sizeof switches ) < 0 ) ++ { ++ qWarning( "SimpadButtonsHandler() - switches read error!" ); ++ return; ++ } ++ ++ qDebug( "SimpadButtonsHandler() - Shift: %0x [used: %0x] + Event = %0x | %0x", ++ shiftKeyPressed, shiftUsed, switches.events[0], switches.states[0] ); ++ ++ bool press = switches.states[0]; // == switches.event[0]; ++ int code = switches.events[0]; ++ ++ //========================================================================= ++ ++ /** ++ * Work around a bug in the kernel keyboard driver emitting ++ * bogus events when pressing multiple switches at once ++ **/ ++ ++ if ( lastCode == 0 ) ++ { ++ // first press ever ++ eventTimer.start(); ++ lastPress = press; ++ lastCode = code; ++ } ++ else ++ { ++ int interval = eventTimer.restart(); ++ qDebug( "event interval = %d", interval ); ++ if ( code == lastCode && interval < 10 ) ++ { ++ qDebug( "event interval too small - ignoring bogus event" ); ++ qDebug( "did I say i hate buggy kernel drivers? :-D" ); ++ return; ++ } ++ ++ lastPress = press; ++ lastCode = code; ++ } ++ ++ /** ++ * Actually it may also be a hardware problem, but I really don't like ++ * to review kernel code for further inquiry. So just being lazy and ++ * do the workaround in user space :-D ++ **/ ++ ++ //===================================================================== ++ ++ if ( shiftKeyPressed ) ++ { ++ // a shift key obviously is being held ++ qDebug( "while shift key is being held..." ); ++ ++ if ( code != shiftKeyPressed ) ++ { ++ // another key is being touched - that means shift mode for us! ++ qDebug( " another key is being touched -> shift use now = true" ); ++ ++ shiftUsed = true; ++ ++ if ( shiftKeyPressed == SIMPAD_SWITCH_LOWER ) // SHIFT 1 ++ { ++ qDebug( " shift mode 1" ); ++ switch(code) ++ { ++ case SIMPAD_SWITCH_UP: k = Qt::Key_F9; break; // Shift1-Up = Calendar ++ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F10; break; // Shift1-Down = Contacts ++ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F13; break; // Shift1-Left = Mail ++ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F11; break; // Shift1-Up = Menu ++ case SIMPAD_SWITCH_UPPER: k = Qt::Key_F12; break; // Shift1-Upper = Home ++ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 1 !" ); break; ++ } ++ } ++ else if ( shiftKeyPressed == SIMPAD_SWITCH_UPPER ) // SHIFT 2 ++ { ++ qDebug( " shift mode 2" ); ++ switch(code) ++ { ++ case SIMPAD_SWITCH_UP: k = Qt::Key_F5; break; // Shift2-Up = F5 ++ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F6; break; // Shift2-Down = F6 ++ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F7; break; // Shift2-Left = F7 ++ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F8; break; // Shift2-Up = F8 ++ case SIMPAD_SWITCH_LOWER: k = Qt::Key_F9; break; // Shift2-Lower = F9 ++ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 2!" ); break; ++ } ++ } ++ } ++ else ++ { ++ qDebug( " shift key has been released. checking if being used..." ); ++ shiftKeyPressed = 0; ++ ++ if ( !shiftUsed ) ++ { ++ qDebug( " ... has _not_ being used -> really emit the key" ); ++ k = ( code == SIMPAD_SWITCH_UPPER ? Qt::Key_Escape : Qt::Key_Return ); ++ qDebug( "Emitting key = %d (pressed)", k ); ++ processKeyEvent( 0, k, 0, true, true ); ++ qDebug( "Emitting key = %d (released)", k ); ++ processKeyEvent( 0, k, 0, false, true ); ++ return; ++ } ++ else ++ { ++ qDebug( " ... has being used -> doing nothing" ); ++ return; ++ } ++ } ++ } ++ else ++ { ++ qDebug( "standard mode - no shift yet..." ); ++ ++ switch(code) ++ { ++ case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break; ++ case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break; ++ case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break; ++ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break; ++ case SIMPAD_SWITCH_POWER: k = Qt::Key_F34; break; // Power Button ++ ++ case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; ++ case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; ++ ++ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break; ++ } ++ } ++ ++ if ( k == -1 ) ++ { ++ qDebug( "no key to emit - returning." ); ++ return; ++ } ++ ++ bool repeatable = ( k == Qt::Key_Up || k == Qt::Key_Down || ++ k == Qt::Key_Right || k == Qt::Key_Left ); ++ ++ qDebug( "key to emit = %d [%s] [repeat=%s]", k, ++ press ? "press" : "release", ++ repeatable ? "true":"false" ); ++ ++ if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down ) ++ { ++ qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." ); ++ int oldK = k; ++ k = xform_dirkey( k ); ++ qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k ); ++ } ++ ++ if ( repeatable && press ) ++ repeater->start( repeatdelay, true ); ++ else ++ repeater->stop(); ++ ++ qwsServer->processKeyEvent( 0, k, 0, press, false ); ++} ++ ++ ++void QWSsimpadButtonsHandler::autoRepeat() ++{ ++ qDebug( "Emitting key = %d (released)", k ); ++ processKeyEvent( 0, k, 0, false, true ); ++ qDebug( "Emitting key = %d (pressed)", k ); ++ processKeyEvent( 0, k, 0, true, true ); ++ repeater->start(repeatperiod); ++} ++ ++ ++#endif // QT_NO_QWS_KEYBOARD +--- qt-2.3.10/src/kernel/qwsmouse_qws.cpp~simpad.patch ++++ qt-2.3.10/src/kernel/qwsmouse_qws.cpp +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -73,6 +74,7 @@ + unsigned short x; + unsigned short y; + unsigned short pad; ++ struct timeval stamp; + } TS_EVENT; + #elif defined(QT_QWS_SL5XXX) + #define QT_QWS_SL5XXX_RAW +@@ -1310,6 +1312,11 @@ + return; + } + # endif ++#elif defined(QT_QWS_SIMPAD ) ++ if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK )) < 0) { ++ qWarning( "Cannot open /dev/touchscreen/ucb1x00 (%s)", strerror(errno)); ++ return; ++ } + #endif + + QSocketNotifier *mouseNotifier; diff --git a/packages/qte/qte-2.3.10/simpad-defaultkbd.patch b/packages/qte/qte-2.3.10/simpad-defaultkbd.patch deleted file mode 100644 index 3e5450a4da..0000000000 --- a/packages/qte/qte-2.3.10/simpad-defaultkbd.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qt-2.3.10/src/kernel/qwindowsystem_qws.cpp.orig 2005-11-30 10:53:32.000000000 +0100 -+++ qt-2.3.10/src/kernel/qwindowsystem_qws.cpp 2005-11-30 10:55:51.000000000 +0100 -@@ -2917,7 +2917,7 @@ - { - QString keyboards = getenv("QWS_KEYBOARD"); - if ( keyboards.isEmpty() ) { --#if defined( QT_QWS_CASSIOPEIA ) -+#if defined( QT_QWS_CASSIOPEIA ) || defined( QT_QWS_SIMPAD ) - keyboards = "Buttons"; - #elif !defined(QT_NO_QWS_VFB) - extern bool qvfbEnabled; diff --git a/packages/qte/qte-2.3.10/simpad.patch b/packages/qte/qte-2.3.10/simpad.patch deleted file mode 100644 index 8a728ef74a..0000000000 --- a/packages/qte/qte-2.3.10/simpad.patch +++ /dev/null @@ -1,340 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- qt-2.3.10/src/kernel/qkeyboard_qws.cpp~simpad.patch -+++ qt-2.3.10/src/kernel/qkeyboard_qws.cpp -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - #include - - #include -@@ -80,6 +81,60 @@ - #include - #endif - -+/* -+ * SIMpad switches handler -+ * (C) 2003-2005 Michael 'Mickey' Lauer -+ */ -+ -+ -+ -+#include -+#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 - #include - #endif -@@ -1775,9 +1830,11 @@ - } else { - type = spec; - } -- - if ( type == "Buttons" ) { --#if defined(QT_QWS_YOPY) -+#if defined(QT_QWS_SIMPAD) -+ qDebug( "QWSKeyboardHandler: using SIMpad switches handler..." ); -+ handler = new QWSsimpadButtonsHandler(); -+#elif defined(QT_QWS_YOPY) - handler = new QWSyopyButtonsHandler(); - #elif defined(QT_QWS_CASSIOPEIA) - handler = new QWSVr41xxButtonsHandler(); -@@ -1812,6 +1869,218 @@ - return keyM; - } - --#endif // QT_NO_QWS_KEYBOARD - -+/* -+ * SIMpad switches handler -+ * (C) 2003 Michael 'Mickey' Lauer -+ */ -+ -+ -+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; -+ } -+} -+ -+ -+void QWSsimpadButtonsHandler::readSwitchesData() -+{ -+ qDebug( "SimpadButtonsHandler() - detected switches action" ); -+ -+ if ( ::read( fd, &switches, sizeof switches ) < 0 ) -+ { -+ qWarning( "SimpadButtonsHandler() - switches read error!" ); -+ return; -+ } -+ -+ qDebug( "SimpadButtonsHandler() - Shift: %0x [used: %0x] + Event = %0x | %0x", -+ shiftKeyPressed, shiftUsed, switches.events[0], switches.states[0] ); -+ -+ bool press = switches.states[0]; // == switches.event[0]; -+ int code = switches.events[0]; -+ -+ //========================================================================= -+ -+ /** -+ * Work around a bug in the kernel keyboard driver emitting -+ * bogus events when pressing multiple switches at once -+ **/ -+ -+ if ( lastCode == 0 ) -+ { -+ // first press ever -+ eventTimer.start(); -+ lastPress = press; -+ lastCode = code; -+ } -+ else -+ { -+ int interval = eventTimer.restart(); -+ qDebug( "event interval = %d", interval ); -+ if ( code == lastCode && interval < 10 ) -+ { -+ qDebug( "event interval too small - ignoring bogus event" ); -+ qDebug( "did I say i hate buggy kernel drivers? :-D" ); -+ return; -+ } -+ -+ lastPress = press; -+ lastCode = code; -+ } -+ -+ /** -+ * Actually it may also be a hardware problem, but I really don't like -+ * to review kernel code for further inquiry. So just being lazy and -+ * do the workaround in user space :-D -+ **/ -+ -+ //===================================================================== -+ -+ if ( shiftKeyPressed ) -+ { -+ // a shift key obviously is being held -+ qDebug( "while shift key is being held..." ); -+ -+ if ( code != shiftKeyPressed ) -+ { -+ // another key is being touched - that means shift mode for us! -+ qDebug( " another key is being touched -> shift use now = true" ); -+ -+ shiftUsed = true; -+ -+ if ( shiftKeyPressed == SIMPAD_SWITCH_LOWER ) // SHIFT 1 -+ { -+ qDebug( " shift mode 1" ); -+ switch(code) -+ { -+ case SIMPAD_SWITCH_UP: k = Qt::Key_F9; break; // Shift1-Up = Calendar -+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F10; break; // Shift1-Down = Contacts -+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F13; break; // Shift1-Left = Mail -+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F11; break; // Shift1-Up = Menu -+ case SIMPAD_SWITCH_UPPER: k = Qt::Key_F12; break; // Shift1-Upper = Home -+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 1 !" ); break; -+ } -+ } -+ else if ( shiftKeyPressed == SIMPAD_SWITCH_UPPER ) // SHIFT 2 -+ { -+ qDebug( " shift mode 2" ); -+ switch(code) -+ { -+ case SIMPAD_SWITCH_UP: k = Qt::Key_F5; break; // Shift2-Up = F5 -+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F6; break; // Shift2-Down = F6 -+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F7; break; // Shift2-Left = F7 -+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F8; break; // Shift2-Up = F8 -+ case SIMPAD_SWITCH_LOWER: k = Qt::Key_F9; break; // Shift2-Lower = F9 -+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 2!" ); break; -+ } -+ } -+ } -+ else -+ { -+ qDebug( " shift key has been released. checking if being used..." ); -+ shiftKeyPressed = 0; -+ -+ if ( !shiftUsed ) -+ { -+ qDebug( " ... has _not_ being used -> really emit the key" ); -+ k = ( code == SIMPAD_SWITCH_UPPER ? Qt::Key_Escape : Qt::Key_Return ); -+ qDebug( "Emitting key = %d (pressed)", k ); -+ processKeyEvent( 0, k, 0, true, true ); -+ qDebug( "Emitting key = %d (released)", k ); -+ processKeyEvent( 0, k, 0, false, true ); -+ return; -+ } -+ else -+ { -+ qDebug( " ... has being used -> doing nothing" ); -+ return; -+ } -+ } -+ } -+ else -+ { -+ qDebug( "standard mode - no shift yet..." ); -+ -+ switch(code) -+ { -+ case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break; -+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break; -+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break; -+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break; -+ case SIMPAD_SWITCH_POWER: k = Qt::Key_F34; break; // Power Button -+ -+ case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; -+ case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; -+ -+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break; -+ } -+ } -+ -+ if ( k == -1 ) -+ { -+ qDebug( "no key to emit - returning." ); -+ return; -+ } -+ -+ bool repeatable = ( k == Qt::Key_Up || k == Qt::Key_Down || -+ k == Qt::Key_Right || k == Qt::Key_Left ); -+ -+ qDebug( "key to emit = %d [%s] [repeat=%s]", k, -+ press ? "press" : "release", -+ repeatable ? "true":"false" ); -+ -+ if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down ) -+ { -+ qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." ); -+ int oldK = k; -+ k = xform_dirkey( k ); -+ qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k ); -+ } -+ -+ if ( repeatable && press ) -+ repeater->start( repeatdelay, true ); -+ else -+ repeater->stop(); -+ -+ qwsServer->processKeyEvent( 0, k, 0, press, false ); -+} -+ -+ -+void QWSsimpadButtonsHandler::autoRepeat() -+{ -+ qDebug( "Emitting key = %d (released)", k ); -+ processKeyEvent( 0, k, 0, false, true ); -+ qDebug( "Emitting key = %d (pressed)", k ); -+ processKeyEvent( 0, k, 0, true, true ); -+ repeater->start(repeatperiod); -+} -+ -+ -+#endif // QT_NO_QWS_KEYBOARD ---- qt-2.3.10/src/kernel/qwsmouse_qws.cpp~simpad.patch -+++ qt-2.3.10/src/kernel/qwsmouse_qws.cpp -@@ -47,6 +47,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -73,6 +74,7 @@ - unsigned short x; - unsigned short y; - unsigned short pad; -+ struct timeval stamp; - } TS_EVENT; - #elif defined(QT_QWS_SL5XXX) - #define QT_QWS_SL5XXX_RAW -@@ -1310,6 +1312,11 @@ - return; - } - # endif -+#elif defined(QT_QWS_SIMPAD ) -+ if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK )) < 0) { -+ qWarning( "Cannot open /dev/touchscreen/ucb1x00 (%s)", strerror(errno)); -+ return; -+ } - #endif - - QSocketNotifier *mouseNotifier; diff --git a/packages/qte/qte-common_2.3.10.inc b/packages/qte/qte-common_2.3.10.inc index 972ea7d4a6..bde927fbc0 100644 --- a/packages/qte/qte-common_2.3.10.inc +++ b/packages/qte/qte-common_2.3.10.inc @@ -30,7 +30,6 @@ SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz;m file://fix-qgfxraster.patch;patch=1 \ file://qt-visibility.patch;patch=1 \ file://tslib.patch;patch=1 \ - file://simpad.patch;patch=1 \ file://handhelds.patch;patch=1 \ file://qiconview-speed.patch;patch=1 \ file://qtabbar.patch;patch=1 \ @@ -43,7 +42,6 @@ SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz;m file://key.patch;patch=1 \ file://bidimetrics.patch;patch=5 \ file://fix-native-build.patch;patch=1 \ - file://simpad-defaultkbd.patch;patch=1 \ file://fix-errno-exception-spec.patch;patch=1 \ file://keyboardless-buttonmap.patch;patch=1 \ file://kernel-keymap.patch;patch=1 \ @@ -117,7 +115,7 @@ EXTRA_DEFINES_palmld = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ" EXTRA_DEFINES_palmt650 = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ" EXTRA_DEFINES_palmtx = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ" EXTRA_DEFINES_palmz72 = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ" -EXTRA_DEFINES_simpad = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ -DQT_QWS_SIMPAD" +EXTRA_DEFINES_simpad = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_IPAQ" EXTRA_DEFINES_c7x0 = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX -DQT_QWS_SLC700" EXTRA_DEFINES_spitz = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX -DQT_QWS_SLC700 -DQT_QWS_SLCXK" EXTRA_DEFINES_akita = "-DQT_QWS_TSLIB -DQT_QWS_CUSTOM -DQT_QWS_SL5XXX -DQT_QWS_SLC700 -DQT_QWS_SLCXK" -- cgit v1.2.3