author | llornkcor <llornkcor> | 2002-06-23 20:19:27 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-06-23 20:19:27 (UTC) |
commit | e611ad323de0bc155d52704545378c948bdbadfa (patch) (unidiff) | |
tree | 1f7e109526722dda80261a9ec1bfe79926f1389f | |
parent | 7b861d2f14bdb50558863354522dee7c7a9ef34d (diff) | |
download | opie-e611ad323de0bc155d52704545378c948bdbadfa.zip opie-e611ad323de0bc155d52704545378c948bdbadfa.tar.gz opie-e611ad323de0bc155d52704545378c948bdbadfa.tar.bz2 |
fix for keyboard handling under certain conditions, like when grabkeyboard is requested by a user app, so apps such as konsole will have proper keyboard input.
-rw-r--r-- | core/launcher/desktop.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp index 7662e48..24dce73 100644 --- a/core/launcher/desktop.cpp +++ b/core/launcher/desktop.cpp | |||
@@ -194,12 +194,18 @@ bool DesktopApplication::qwsEventFilter( QWSEvent *e ) | |||
194 | return TRUE; | 194 | return TRUE; |
195 | bool press = ke->simpleData.is_press; | 195 | bool press = ke->simpleData.is_press; |
196 | bool autoRepeat= ke->simpleData.is_auto_repeat; | 196 | bool autoRepeat= ke->simpleData.is_auto_repeat; |
197 | if (!keyRegisterList.isEmpty()) | 197 | |
198 | { | 198 | /* |
199 | app that registers key/message to be sent back to the app, when it doesn't have focus, | ||
200 | when user presses key, unless keyboard has been requested from app. | ||
201 | will not send multiple repeats if user holds key | ||
202 | i.e. one shot | ||
203 | |||
204 | */ | ||
205 | if (!keyRegisterList.isEmpty()) { | ||
199 | KeyRegisterList::Iterator it; | 206 | KeyRegisterList::Iterator it; |
200 | for( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) | 207 | for( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { |
201 | { | 208 | if ((*it).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed()) { |
202 | if ((*it).getKeyCode() == ke->simpleData.keycode && !autoRepeat) { | ||
203 | if(press) qDebug("press"); else qDebug("release"); | 209 | if(press) qDebug("press"); else qDebug("release"); |
204 | QCopEnvelope((*it).getChannel().utf8(), (*it).getMessage().utf8()); | 210 | QCopEnvelope((*it).getChannel().utf8(), (*it).getMessage().utf8()); |
205 | } | 211 | } |