diff --git a/include/wx/defs.h b/include/wx/defs.h index 59393e5e6a..9989d58dff 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -2695,7 +2695,25 @@ enum wxKeyCode WXK_SPECIAL17, WXK_SPECIAL18, WXK_SPECIAL19, - WXK_SPECIAL20 + WXK_SPECIAL20, + + WXK_BROWSER_BACK, + WXK_BROWSER_FORWARD, + WXK_BROWSER_REFRESH, + WXK_BROWSER_STOP, + WXK_BROWSER_SEARCH, + WXK_BROWSER_FAVORITES, + WXK_BROWSER_HOME, + WXK_VOLUME_MUTE, + WXK_VOLUME_DOWN, + WXK_VOLUME_UP, + WXK_MEDIA_NEXT_TRACK, + WXK_MEDIA_PREV_TRACK, + WXK_MEDIA_STOP, + WXK_MEDIA_PLAY_PAUSE, + WXK_LAUNCH_MAIL, + WXK_LAUNCH_APP1, + WXK_LAUNCH_APP2 }; /* This enum contains bit mask constants used in wxKeyEvent */ diff --git a/interface/wx/defs.h b/interface/wx/defs.h index 0de4f544bb..baf0dd7b7c 100644 --- a/interface/wx/defs.h +++ b/interface/wx/defs.h @@ -1046,7 +1046,25 @@ enum wxKeyCode WXK_SPECIAL17, WXK_SPECIAL18, WXK_SPECIAL19, - WXK_SPECIAL20 + WXK_SPECIAL20, + + WXK_BROWSER_BACK = 501, + WXK_BROWSER_FORWARD, + WXK_BROWSER_REFRESH, + WXK_BROWSER_STOP, + WXK_BROWSER_SEARCH, + WXK_BROWSER_FAVORITES, + WXK_BROWSER_HOME, + WXK_VOLUME_MUTE, + WXK_VOLUME_DOWN, + WXK_VOLUME_UP, + WXK_MEDIA_NEXT_TRACK, + WXK_MEDIA_PREV_TRACK, + WXK_MEDIA_STOP, + WXK_MEDIA_PLAY_PAUSE, + WXK_LAUNCH_MAIL, + WXK_LAUNCH_APP1, + WXK_LAUNCH_APP2 }; /** diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 031de383dc..6cf91e48b0 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -726,6 +726,57 @@ static long wxTranslateKeySymToWXKey(KeySym keysym, bool isChar) case GDK_F12: key_code = WXK_F1 + keysym - GDK_F1; break; + case GDK_Back: + key_code = WXK_BROWSER_BACK; + break; + case GDK_Forward: + key_code = WXK_BROWSER_FORWARD; + break; + case GDK_Refresh: + key_code = WXK_BROWSER_REFRESH; + break; + case GDK_Stop: + key_code = WXK_BROWSER_STOP; + break; + case GDK_Search: + key_code = WXK_BROWSER_SEARCH; + break; + case GDK_Favorites: + key_code = WXK_BROWSER_FAVORITES; + break; + case GDK_HomePage: + key_code = WXK_BROWSER_HOME; + break; + case GDK_AudioMute: + key_code = WXK_VOLUME_MUTE; + break; + case GDK_AudioLowerVolume: + key_code = WXK_VOLUME_DOWN; + break; + case GDK_AudioRaiseVolume: + key_code = WXK_VOLUME_UP; + break; + case GDK_AudioNext: + key_code = WXK_MEDIA_NEXT_TRACK; + break; + case GDK_AudioPrev: + key_code = WXK_MEDIA_PREV_TRACK; + break; + case GDK_AudioStop: + key_code = WXK_MEDIA_STOP; + break; + case GDK_AudioPlay: + key_code = WXK_MEDIA_PLAY_PAUSE; + break; + case GDK_Mail: + key_code = WXK_LAUNCH_MAIL; + break; + case GDK_LaunchA: + key_code = WXK_LAUNCH_APP1; + break; + case GDK_LaunchB: + key_code = WXK_LAUNCH_APP2; + break; default: key_code = 0; diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 0ac0ed0042..102912140f 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -6134,6 +6134,58 @@ int VKToWX(WXWORD vk, WXLPARAM lParam, wchar_t *uc) *uc = WXK_RETURN; break; + case VK_BROWSER_BACK: + wxk = WXK_BROWSER_BACK; + break; + case VK_BROWSER_FORWARD: + wxk = WXK_BROWSER_FORWARD; + break; + case VK_BROWSER_REFRESH: + wxk = WXK_BROWSER_REFRESH; + break; + case VK_BROWSER_STOP: + wxk = WXK_BROWSER_STOP; + break; + case VK_BROWSER_SEARCH: + wxk = WXK_BROWSER_SEARCH; + break; + case VK_BROWSER_FAVORITES: + wxk = WXK_BROWSER_FAVORITES; + break; + case VK_BROWSER_HOME: + wxk = WXK_BROWSER_HOME; + break; + case VK_VOLUME_MUTE: + wxk = WXK_VOLUME_MUTE; + break; + case VK_VOLUME_DOWN: + wxk = WXK_VOLUME_DOWN; + break; + case VK_VOLUME_UP: + wxk = WXK_VOLUME_UP; + break; + case VK_MEDIA_NEXT_TRACK: + wxk = WXK_MEDIA_NEXT_TRACK; + break; + case VK_MEDIA_PREV_TRACK: + wxk = WXK_MEDIA_PREV_TRACK; + break; + case VK_MEDIA_STOP: + wxk = WXK_MEDIA_STOP; + break; + case VK_MEDIA_PLAY_PAUSE: + wxk = WXK_MEDIA_PLAY_PAUSE; + break; + case VK_LAUNCH_MAIL: + wxk = WXK_LAUNCH_MAIL; + break; + case VK_LAUNCH_APP1: + wxk = WXK_LAUNCH_APP1; + break; + case VK_LAUNCH_APP2: + wxk = WXK_LAUNCH_APP2; + break; + default: if ( (vk >= '0' && vk <= '9') || (vk >= 'A' && vk <= 'Z') ) {