diff --git a/src/common/textcmn.cpp b/src/common/textcmn.cpp index b10efe0e78..b31c830a00 100644 --- a/src/common/textcmn.cpp +++ b/src/common/textcmn.cpp @@ -411,6 +411,13 @@ bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event) break; default: +#if wxUSE_UNICODE + if ( event.GetUnicodeKey() ) + { + ch = event.GetUnicodeKey(); + } + else +#endif if ( keycode < 256 && keycode >= 0 && wxIsprint(keycode) ) { // FIXME this is not going to work for non letters... diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 22fabb9356..8878e9dbba 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -967,6 +967,9 @@ static void wxFillOtherKeyEventFields(wxKeyEvent& event, event.m_scanCode = gdk_event->keyval; event.m_rawCode = (wxUint32) gdk_event->keyval; event.m_rawFlags = 0; +#if wxUSE_UNICODE + event.m_uniChar = gdk_keyval_to_unicode(gdk_event->keyval); +#endif event.m_x = x; event.m_y = y; event.SetEventObject( win ); diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index 22fabb9356..8878e9dbba 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -967,6 +967,9 @@ static void wxFillOtherKeyEventFields(wxKeyEvent& event, event.m_scanCode = gdk_event->keyval; event.m_rawCode = (wxUint32) gdk_event->keyval; event.m_rawFlags = 0; +#if wxUSE_UNICODE + event.m_uniChar = gdk_keyval_to_unicode(gdk_event->keyval); +#endif event.m_x = x; event.m_y = y; event.SetEventObject( win );