summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/keyboard.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp
index 08318bd..84c0c74 100644
--- a/inputmethods/multikey/keyboard.cpp
+++ b/inputmethods/multikey/keyboard.cpp
@@ -361,13 +361,13 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
qkeycode = 0x2000;
}
}
// Back accent character support
- //if (unicode == 0x60) { // the keys from 2c6 ~ 2cf should be used instead of the ascii one
+ // the keys from 2c6 ~ 2cf should be used instead of the ascii one
if (unicode == 0x2cb) {
unicode = 0;
if (shift || lock) {
// circumblex
@@ -379,13 +379,12 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
qkeycode = 0x2002;
}
}
// Accent character support
- //if (unicode == 0xb4) {
if (unicode == 0x2ca) {
unicode = 0;
if (shift || lock) {
// diaeresis
@@ -522,14 +521,14 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
// reset all the other keys
if (shift) { *shift = 0; shift = 0; }
if (lock) { *lock = 0; lock = 0; }
if (circumflex) { *circumflex = 0; circumflex = 0; }
if (diaeresis) { *diaeresis = 0; diaeresis = 0; }
- if (baccent) { *baccent = 0; baccent = 0; }
- if (accent) { *accent = 0; accent = 0; }
+ if (baccent) { *baccent = 0; baccent = 0; }
+ if (accent) { *accent = 0; accent = 0; }
// dont need to emit this key... acts same as alt
qkeycode = 0;
// circumflex
} else if (qkeycode == 0x2000) {
@@ -622,13 +621,13 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
*baccent = true;
}
if (shift) { *shift = 0; shift = 0; }
if (meta) { *meta = 0; meta = 0; }
- if (accent) { *accent = 0; accent = 0; }
+ if (accent) { *accent = 0; accent = 0; }
qkeycode = 0;
// Accent
} else if (qkeycode == 0x2003) {
need_repaint = TRUE;
@@ -644,13 +643,13 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
*accent = true;
}
if (shift) { *shift = 0; shift = 0; }
if (meta) { *meta = 0; meta = 0; }
- if (baccent) { *baccent = 0; }
+ if (baccent) { *baccent = 0; }
qkeycode = 0;
}
}
else { // normal char
@@ -660,13 +659,13 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
// diaeresis/circumflex chars
if (circumflex && keys->circumflex(keys->shift(unicode)))
unicode = keys->circumflex(keys->shift(unicode));
else if (diaeresis && keys->diaeresis(keys->shift(unicode)))
unicode = keys->diaeresis(keys->shift(unicode));
- else if (baccent && keys->baccent(keys->shift(unicode)))
+ else if (baccent && keys->baccent(keys->shift(unicode)))
unicode = keys->baccent(keys->shift(unicode));
else if (accent && keys->accent(keys->shift(unicode)))
unicode = keys->accent(keys->shift(unicode));
else if (meta && keys->meta(keys->shift(unicode)))
unicode = keys->meta(keys->shift(unicode));
else
@@ -772,12 +771,19 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*)
*ctrl = 0;
ctrl = 0;
repaint(FALSE);
}
+ if (alt && alt != 0) {
+
+ *alt = 0;
+ alt = 0;
+ repaint(FALSE);
+
+ }
/*
* do not make the meta key release after being pressed
*
else if (meta && unicode != 0) {