# # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher # --- qt-2.3.10/src/kernel/qkeyboard_qws.cpp~key 2005-03-19 15:44:15.120219000 +0100 +++ qt-2.3.10/src/kernel/qkeyboard_qws.cpp 2005-03-19 15:43:43.247892000 +0100 @@ -848,6 +848,9 @@ bool release = false; int keypad = 0; +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) // need autorepeat implemented here? + bool repeatable = TRUE; + #ifndef QT_QWS_USE_KEYCODES #if defined(QT_QWS_IPAQ) // map ipaq 'action' key (0x60, 0xe0) @@ -984,9 +987,6 @@ if ( currentKey ) keyCode = currentKey->key_code; -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) // need autorepeat implemented here? - bool repeatable = TRUE; - #if defined(QT_QWS_IPAQ) switch (code) { #if defined(QT_QWS_SL5XXX) @@ -1061,18 +1061,14 @@ repeatable = FALSE; #endif +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) if ( qt_screen->isTransformed() && keyCode >= Qt::Key_Left && keyCode <= Qt::Key_Down ) { keyCode = xform_dirkey(keyCode); } - -#ifdef QT_QWS_AUTOREPEAT_MANUALLY - if ( repeatable && !release ) - rep->start(prevuni,prevkey,modifiers); - else - rep->stop(); #endif + #endif /* Translate shift+Key_Tab to Key_Backtab @@ -1234,6 +1230,14 @@ } else { prevkey = prevuni = 0; } + +#ifdef QT_QWS_AUTOREPEAT_MANUALLY + if ( repeatable && !release ) + rep->start(prevuni,prevkey,modifiers); + else + rep->stop(); +#endif + } #ifndef QT_QWS_USE_KEYCODES extended = 0; @@ -2056,6 +2060,7 @@ press ? "press" : "release", repeatable ? "true":"false" ); +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down ) { qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." ); @@ -2063,6 +2068,7 @@ k = xform_dirkey( k ); qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k ); } +#endif if ( repeatable && press ) repeater->start( repeatdelay, true );