# # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher # Index: qt-2.3.10/src/kernel/qkeyboard_qws.cpp =================================================================== --- qt-2.3.10.orig/src/kernel/qkeyboard_qws.cpp 2005-03-31 17:51:14.978609000 -0500 +++ qt-2.3.10/src/kernel/qkeyboard_qws.cpp 2005-03-31 17:54:28.140243968 -0500 @@ -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,25 +1061,23 @@ 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 */ if (( keyCode == Key_Tab ) && shift ) keyCode = Key_Backtab; +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) } +#endif #ifndef QT_QWS_USE_KEYCODES /* @@ -1234,6 +1232,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;