зеркало из 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
|
// character code. Note we have to check for modifier keys, since
|
||||||
// gtk returns a character value for them
|
// 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
|
} else { // for Home/End/Up/Down/Left/Right/PageUp/PageDown key
|
||||||
InitKeyPressEvent(event, win, kevent);
|
|
||||||
win->OnKey(kevent);
|
win->OnKey(kevent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче