summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--qt/qte234-for-opie091-simpad.patch17
1 files changed, 4 insertions, 13 deletions
diff --git a/qt/qte234-for-opie091-simpad.patch b/qt/qte234-for-opie091-simpad.patch
index 5959469..e4af4f7 100644
--- a/qt/qte234-for-opie091-simpad.patch
+++ b/qt/qte234-for-opie091-simpad.patch
@@ -91,21 +91,12 @@
91+ QSocketNotifier *notifier; 91+ QSocketNotifier *notifier;
92+}; 92+};
93+ 93+
94 #ifdef QT_QWS_SL5XXX 94 #ifdef QT_QWS_SL5XXX
95 static const QWSServer::KeyMap keyM[] = { 95 static const QWSServer::KeyMap keyM[] = {
96 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 00 96 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 00
97@@ -396,7 +450,7 @@
98 for the list of codes).
99 <li>\a modifiers is the set of modifier keys (see Qt::Modifier).
100 <li>\a isPress says whether this is a press or a release.
101- <li>\a autoRepeat says whether this event was generated by an auto-repeat
102+ <li>\a time says whether this event was generated by an auto-repeat
103 mechanism, or an actual key press.
104 </ul>
105 */
106@@ -1440,7 +1494,11 @@ 97@@ -1440,7 +1494,11 @@
107 } else { 98 } else {
108 type = spec; 99 type = spec;
109 } 100 }
110- 101-
111+ if ( type == "SIMpad" ) 102+ if ( type == "SIMpad" )
@@ -131,13 +122,13 @@
131+QWSsimpadButtonsHandler::QWSsimpadButtonsHandler() 122+QWSsimpadButtonsHandler::QWSsimpadButtonsHandler()
132+ :QWSKeyboardHandler(), fd( -1 ), 123+ :QWSKeyboardHandler(), fd( -1 ),
133+ repeatdelay( 700 ), repeatperiod( 80 ), 124+ repeatdelay( 700 ), repeatperiod( 80 ),
134+ lastCode( 0 ), lastPress( 0 ), 125+ lastCode( 0 ), lastPress( 0 ),
135+ k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false ) 126+ k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false )
136+{ 127+{
137+ qDebug( "SimpadButtonsHandler()" ); 128+ qDebug( "SimpadButtonsHandler() - V4.1" );
138+ fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 ); 129+ fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 );
139+ if ( fd < 0 ) 130+ if ( fd < 0 )
140+ { 131+ {
141+ qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE ); 132+ qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE );
142+ return; 133+ return;
143+ } 134+ }
@@ -193,13 +184,13 @@
193+ lastCode = code; 184+ lastCode = code;
194+ } 185+ }
195+ else 186+ else
196+ { 187+ {
197+ int interval = eventTimer.restart(); 188+ int interval = eventTimer.restart();
198+ qDebug( "event interval = %d", interval ); 189+ qDebug( "event interval = %d", interval );
199+ if ( code == lastCode && interval < 30 ) 190+ if ( code == lastCode && interval < 10 )
200+ { 191+ {
201+ qDebug( "event interval too small - ignoring bogus event" ); 192+ qDebug( "event interval too small - ignoring bogus event" );
202+ qDebug( "did I say i hate buggy kernel drivers? :-D" ); 193+ qDebug( "did I say i hate buggy kernel drivers? :-D" );
203+ return; 194+ return;
204+ } 195+ }
205+ 196+
@@ -284,14 +275,14 @@
284+ { 275+ {
285+ case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break; 276+ case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break;
286+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break; 277+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break;
287+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break; 278+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break;
288+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break; 279+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break;
289+ 280+
290+ case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = code; shiftUsed = false; return; 281+ case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return;
291+ case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = code; shiftUsed = false; return; 282+ case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return;
292+ 283+
293+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break; 284+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break;
294+ } 285+ }
295+ } 286+ }
296+ 287+
297+ if ( k == -1 ) 288+ if ( k == -1 )