[QScintilla] some Lithuanian characters cannot be input by keyboard
Yuya Nishihara
yuya at tcha.org
Sat Feb 1 05:16:49 GMT 2014
Hi,
I received the following bug report from a TortoiseHg user.
> Commit message input does not permit to input a "į" Lithuanian character,
> in TortoiseHg v2.10.1 it was treated as backspace...
https://bitbucket.org/tortoisehg/thg/issue/3573/
It is probably because the key code for "į" conflicts with SCK_LEFT or
SCK_RIGHT. When the "į" key, which is "5" in US keyboard, is pressed,
event.key() returns 302 on Qt 4.8.4 and 303 on Qt 4.8.5 [1].
I guess the problem can be avoided by the following change, but there might
be a side effect.
diff --git a/Qt4Qt5/qsciscintillabase.cpp b/Qt4Qt5/qsciscintillabase.cpp
--- a/Qt4Qt5/qsciscintillabase.cpp
+++ b/Qt4Qt5/qsciscintillabase.cpp
@@ -467,7 +467,11 @@ void QsciScintillaBase::keyPressEvent(QK
break;
default:
- key = e->key();
+ // qscicommand.cpp:convert() ignores unknown non-ascii keys
+ if (key > 0x7f)
+ key = 0;
+ else:
+ key = e->key();
}
if (key)
[1]: this difference would probably come from the following commit
https://qt.gitorious.org/qt/qt/commit/68331c5
Regards,
More information about the QScintilla
mailing list