--- ./src/kernel/qapplication_x11.cpp 2006-02-17 15:45:55.000000000 -0500 +++ ./src/kernel/qapplication_x11.cpp.orig 2006-02-17 16:05:43.000000000 -0500 @@ -5217,11 +5217,12 @@ } else { key = (int)(long)keyDict->find( keycode ); if ( key ) - if( !willRepeat ) // Take out key of dictionary only if this call. + if( !willRepeat && statefulTranslation ) // Take out key of dictionary only if this call. keyDict->take( keycode ); long s = (long)textDict->find( keycode ); if ( s ) { - textDict->take( keycode ); + if( statefulTranslation ) + textDict->take( keycode ); ascii = (char)(s-256); } }