Diffstat (limited to 'inputmethods/multikey/keyboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index 7334c1c..949164a 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp | |||
@@ -349,25 +349,31 @@ void Keyboard::mousePressEvent(QMouseEvent *e) | |||
349 | unicode = keys->shift(unicode); | 349 | unicode = keys->shift(unicode); |
350 | } | 350 | } |
351 | } | 351 | } |
352 | 352 | ||
353 | // korean parsing | 353 | // korean parsing |
354 | if (keys->lang == "ko") { | 354 | if (keys->lang == "ko") { |
355 | 355 | ||
356 | unicode = parseKoreanInput(unicode); | 356 | unicode = parseKoreanInput(unicode); |
357 | } | 357 | } |
358 | 358 | ||
359 | modifiers = (ctrl ? Qt::ControlButton : 0) | (alt ? Qt::AltButton : 0); | 359 | modifiers = (ctrl ? Qt::ControlButton : 0) | (alt ? Qt::AltButton : 0); |
360 | 360 | ||
361 | emit key(unicode, qkeycode, modifiers, true, false); | 361 | if ('A' <= unicode && unicode <= 'z' && modifiers) { |
362 | |||
363 | qkeycode = QChar(unicode).upper(); | ||
364 | unicode = qkeycode - '@'; | ||
365 | } | ||
366 | |||
367 | QWSServer::sendKeyEvent(unicode, qkeycode, modifiers, true, false); | ||
362 | 368 | ||
363 | // pickboard stuff | 369 | // pickboard stuff |
364 | if (usePicks) { | 370 | if (usePicks) { |
365 | 371 | ||
366 | KeyboardConfig *dc = picks->dc; | 372 | KeyboardConfig *dc = picks->dc; |
367 | 373 | ||
368 | if (dc) { | 374 | if (dc) { |
369 | if (qkeycode == Qt::Key_Backspace) { | 375 | if (qkeycode == Qt::Key_Backspace) { |
370 | dc->input.remove(dc->input.last()); // remove last input | 376 | dc->input.remove(dc->input.last()); // remove last input |
371 | dc->decBackspaces(); | 377 | dc->decBackspaces(); |
372 | } else if ( qkeycode == Qt::Key_Return || QChar(unicode).isPunct() || QChar(unicode).isSpace() || unicode == 0) { | 378 | } else if ( qkeycode == Qt::Key_Return || QChar(unicode).isPunct() || QChar(unicode).isSpace() || unicode == 0) { |
373 | dc->input.clear(); | 379 | dc->input.clear(); |