-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp index d5a7afd..7098a6b 100644 --- a/inputmethods/multikey/keyboard.cpp +++ b/inputmethods/multikey/keyboard.cpp | |||
@@ -303,12 +303,30 @@ void Keyboard::mousePressEvent(QMouseEvent *e) | |||
303 | 303 | ||
304 | } else if (qkeycode == Qt::Key_Control) { | 304 | } else if (qkeycode == Qt::Key_Control) { |
305 | |||
306 | if (ctrl) { | ||
307 | |||
308 | *ctrl = 0; | ||
309 | ctrl = 0; | ||
310 | |||
311 | } else { | ||
312 | |||
305 | ctrl = keys->pressedPtr(row, col); | 313 | ctrl = keys->pressedPtr(row, col); |
306 | need_repaint = TRUE; | 314 | need_repaint = TRUE; |
307 | *ctrl = !keys->pressed(row, col); | 315 | *ctrl = !keys->pressed(row, col); |
308 | 316 | ||
317 | } | ||
318 | |||
309 | } else if (qkeycode == Qt::Key_Alt) { | 319 | } else if (qkeycode == Qt::Key_Alt) { |
320 | |||
321 | if (alt) { | ||
322 | *alt = 0; | ||
323 | alt = 0; | ||
324 | |||
325 | } else { | ||
326 | |||
310 | alt = keys->pressedPtr(row, col); | 327 | alt = keys->pressedPtr(row, col); |
311 | need_repaint = TRUE; | 328 | need_repaint = TRUE; |
312 | *alt = !keys->pressed(row, col); | 329 | *alt = !keys->pressed(row, col); |
330 | } | ||
313 | 331 | ||
314 | } else if (qkeycode == Qt::Key_Shift) { | 332 | } else if (qkeycode == Qt::Key_Shift) { |