diff --git a/interface/wx/event.h b/interface/wx/event.h index 47b779a3ee..64adc9862e 100644 --- a/interface/wx/event.h +++ b/interface/wx/event.h @@ -1386,8 +1386,19 @@ public: //@} /** - Returns the raw key code for this event. This is a platform-dependent scan code - which should only be used in advanced applications. + Returns the raw key code for this event. + + The flags are platform-dependent and should only be used if the + functionality provided by other wxKeyEvent methods is insufficient. + + Under MSW, the raw key code is the value of @c wParam parameter of the + corresponding message. + + Under GTK, the raw key code is the @c keyval field of the corresponding + GDK event. + + Under OS X, the raw key code is the @c keyCode field of the + corresponding NSEvent. @note Currently the raw key codes are not supported by all ports, use @ifdef_ wxHAS_RAW_KEY_CODES to determine if this feature is available. @@ -1395,8 +1406,18 @@ public: wxUint32 GetRawKeyCode() const; /** - Returns the low level key flags for this event. The flags are - platform-dependent and should only be used in advanced applications. + Returns the low level key flags for this event. + + The flags are platform-dependent and should only be used if the + functionality provided by other wxKeyEvent methods is insufficient. + + Under MSW, the raw flags are just the value of @c lParam parameter of + the corresponding message. + + Under GTK, the raw flags contain the @c hardware_keycode field of the + corresponding GDK event. + + Under OS X, the raw flags contain the modifiers state. @note Currently the raw key flags are not supported by all ports, use @ifdef_ wxHAS_RAW_KEY_CODES to determine if this feature is available. diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index fa02dbc397..1e4523f340 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -729,7 +729,7 @@ static void wxFillOtherKeyEventFields(wxKeyEvent& event, } event.m_rawCode = (wxUint32) gdk_event->keyval; - event.m_rawFlags = 0; + event.m_rawFlags = gdk_event->hardware_keycode; wxGetMousePosition( &x, &y ); win->ScreenToClient( &x, &y );