зеркало из https://github.com/mozilla/gecko-dev.git
fix bug 74088. check in for katakai@japan.sun.com
r=ftang/pavlov sr/a=blizzard change the key event init code so we can handle the keysym correctly for non ASCII keys
This commit is contained in:
Родитель
63f4988f88
Коммит
b28b515d1d
|
@ -680,16 +680,19 @@ gint handle_key_press_event(GtkObject *w, GdkEventKey* event, gpointer p)
|
|||
// character code. Note we have to check for modifier keys, since
|
||||
// gtk returns a character value for them
|
||||
//
|
||||
if (event->length) {
|
||||
if (nsGtkIMEHelper::GetSingleton() && (!kevent.keyCode)) {
|
||||
win->IMECommitEvent(event);
|
||||
} else {
|
||||
InitKeyPressEvent(event, win, kevent);
|
||||
win->OnKey(kevent);
|
||||
|
||||
// Call nsConvertCharCodeToUnicode() here to get kevent.charCode
|
||||
InitKeyPressEvent(event, win, kevent);
|
||||
|
||||
if (event->length) {
|
||||
if (kevent.charCode || kevent.keyCode) {
|
||||
// kevent.charCode or kevent.keyCode is valid, just pass to OnKey()
|
||||
win->OnKey(kevent);
|
||||
} else if (nsGtkIMEHelper::GetSingleton()) {
|
||||
// commit request from IME
|
||||
win->IMECommitEvent(event);
|
||||
}
|
||||
} else { // for Home/End/Up/Down/Left/Right/PageUp/PageDown key
|
||||
InitKeyPressEvent(event, win, kevent);
|
||||
win->OnKey(kevent);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче