author | hash <hash> | 2002-11-08 05:48:13 (UTC) |
---|---|---|
committer | hash <hash> | 2002-11-08 05:48:13 (UTC) |
commit | 585e766bcb974079957dabcbaf487c21211caa8b (patch) (side-by-side diff) | |
tree | 672f8670a0ec70b3e7ff3a079800bc12d9f82f8e | |
parent | 6cb72a24dead3f2f1a122cbe6e9dcc43be86443a (diff) | |
download | opie-585e766bcb974079957dabcbaf487c21211caa8b.zip opie-585e766bcb974079957dabcbaf487c21211caa8b.tar.gz opie-585e766bcb974079957dabcbaf487c21211caa8b.tar.bz2 |
alt shouldnt stick either
-rw-r--r-- | inputmethods/multikey/keyboard.cpp | 20 |
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 @@ -355,43 +355,42 @@ void Keyboard::mousePressEvent(QMouseEvent *e) // diaeresis qkeycode = 0x2001; } else { // circumflex 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 qkeycode = 0x2000; } else { // back accent qkeycode = 0x2002; } } // Accent character support - //if (unicode == 0xb4) { if (unicode == 0x2ca) { unicode = 0; if (shift || lock) { // diaeresis qkeycode = 0x2001; } else { // accent qkeycode = 0x2003; @@ -516,26 +515,26 @@ void Keyboard::mousePressEvent(QMouseEvent *e) } else { meta = keys->pressedPtr(row, col); *meta = true; } // 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) { need_repaint = TRUE; if (circumflex) { *circumflex = 0; circumflex = 0; @@ -616,63 +615,63 @@ void Keyboard::mousePressEvent(QMouseEvent *e) *baccent = 0; baccent = 0; } else { baccent = keys->pressedPtr(row, col); *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; if (accent) { *accent = 0; accent = 0; } else { accent = keys->pressedPtr(row, col); *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 if ((shift || lock) && keys->shift(unicode)) { // make diaeresis/circumflex -> shift input shifted // 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 unicode = keys->shift(unicode); } else if (meta && keys->meta(unicode)) { unicode = keys->meta(unicode); } else if (circumflex && keys->circumflex(unicode)) { @@ -766,24 +765,31 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*) *shift = 0; // unpress shift key shift = 0; // reset the shift pointer repaint(FALSE); } if (ctrl && unicode != 0) { *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) { *meta = 0; meta = 0; repaint(FALSE); } |