Miscellaneous improvements to the multimedia keys support
Simplified mapping keys on Windows. Handle multimedia keys in the keyboard, text and treetest samples. Ignore multimedia keys in wxRichTextCtrl.
This commit is contained in:
committed by
Vadim Zeitlin
parent
58c7e6d54f
commit
3b98570f57
@@ -456,6 +456,23 @@ const char* GetVirtualKeyCodeName(int keycode)
|
|||||||
#ifdef __WXOSX__
|
#ifdef __WXOSX__
|
||||||
WXK_(RAW_CONTROL)
|
WXK_(RAW_CONTROL)
|
||||||
#endif
|
#endif
|
||||||
|
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)
|
||||||
#undef WXK_
|
#undef WXK_
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@@ -692,6 +692,23 @@ void MyTextCtrl::LogKeyEvent(const wxChar *name, wxKeyEvent& event) const
|
|||||||
case WXK_NUMPAD_SEPARATOR: key = wxT("NUMPAD_SEPARATOR"); break;
|
case WXK_NUMPAD_SEPARATOR: key = wxT("NUMPAD_SEPARATOR"); break;
|
||||||
case WXK_NUMPAD_SUBTRACT: key = wxT("NUMPAD_SUBTRACT"); break;
|
case WXK_NUMPAD_SUBTRACT: key = wxT("NUMPAD_SUBTRACT"); break;
|
||||||
case WXK_NUMPAD_DECIMAL: key = wxT("NUMPAD_DECIMAL"); break;
|
case WXK_NUMPAD_DECIMAL: key = wxT("NUMPAD_DECIMAL"); break;
|
||||||
|
case WXK_BROWSER_BACK: key = wxT("BROWSER_BACK"); break;
|
||||||
|
case WXK_BROWSER_FORWARD: key = wxT("BROWSER_FORWARD"); break;
|
||||||
|
case WXK_BROWSER_REFRESH: key = wxT("BROWSER_REFRESH"); break;
|
||||||
|
case WXK_BROWSER_STOP: key = wxT("BROWSER_STOP"); break;
|
||||||
|
case WXK_BROWSER_SEARCH: key = wxT("BROWSER_SEARCH"); break;
|
||||||
|
case WXK_BROWSER_FAVORITES: key = wxT("BROWSER_FAVORITES"); break;
|
||||||
|
case WXK_BROWSER_HOME: key = wxT("BROWSER_HOME"); break;
|
||||||
|
case WXK_VOLUME_MUTE: key = wxT("VOLUME_MUTE"); break;
|
||||||
|
case WXK_VOLUME_DOWN: key = wxT("VOLUME_DOWN"); break;
|
||||||
|
case WXK_VOLUME_UP: key = wxT("VOLUME_UP"); break;
|
||||||
|
case WXK_MEDIA_NEXT_TRACK: key = wxT("MEDIA_NEXT_TRACK"); break;
|
||||||
|
case WXK_MEDIA_PREV_TRACK: key = wxT("MEDIA_PREV_TRACK"); break;
|
||||||
|
case WXK_MEDIA_STOP: key = wxT("MEDIA_STOP"); break;
|
||||||
|
case WXK_MEDIA_PLAY_PAUSE: key = wxT("MEDIA_PLAY_PAUSE"); break;
|
||||||
|
case WXK_LAUNCH_MAIL: key = wxT("LAUNCH_MAIL"); break;
|
||||||
|
case WXK_LAUNCH_APP1: key = wxT("LAUNCH_APP1"); break;
|
||||||
|
case WXK_LAUNCH_APP2: key = wxT("LAUNCH_APP2"); break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@@ -1432,6 +1432,23 @@ void LogKeyEvent(const wxChar *name, const wxKeyEvent& event)
|
|||||||
case WXK_NUMPAD_SEPARATOR: key = wxT("NUMPAD_SEPARATOR"); break;
|
case WXK_NUMPAD_SEPARATOR: key = wxT("NUMPAD_SEPARATOR"); break;
|
||||||
case WXK_NUMPAD_SUBTRACT: key = wxT("NUMPAD_SUBTRACT"); break;
|
case WXK_NUMPAD_SUBTRACT: key = wxT("NUMPAD_SUBTRACT"); break;
|
||||||
case WXK_NUMPAD_DECIMAL: key = wxT("NUMPAD_DECIMAL"); break;
|
case WXK_NUMPAD_DECIMAL: key = wxT("NUMPAD_DECIMAL"); break;
|
||||||
|
case WXK_BROWSER_BACK: key = wxT("BROWSER_BACK"); break;
|
||||||
|
case WXK_BROWSER_FORWARD: key = wxT("BROWSER_FORWARD"); break;
|
||||||
|
case WXK_BROWSER_REFRESH: key = wxT("BROWSER_REFRESH"); break;
|
||||||
|
case WXK_BROWSER_STOP: key = wxT("BROWSER_STOP"); break;
|
||||||
|
case WXK_BROWSER_SEARCH: key = wxT("BROWSER_SEARCH"); break;
|
||||||
|
case WXK_BROWSER_FAVORITES: key = wxT("BROWSER_FAVORITES"); break;
|
||||||
|
case WXK_BROWSER_HOME: key = wxT("BROWSER_HOME"); break;
|
||||||
|
case WXK_VOLUME_MUTE: key = wxT("VOLUME_MUTE"); break;
|
||||||
|
case WXK_VOLUME_DOWN: key = wxT("VOLUME_DOWN"); break;
|
||||||
|
case WXK_VOLUME_UP: key = wxT("VOLUME_UP"); break;
|
||||||
|
case WXK_MEDIA_NEXT_TRACK: key = wxT("MEDIA_NEXT_TRACK"); break;
|
||||||
|
case WXK_MEDIA_PREV_TRACK: key = wxT("MEDIA_PREV_TRACK"); break;
|
||||||
|
case WXK_MEDIA_STOP: key = wxT("MEDIA_STOP"); break;
|
||||||
|
case WXK_MEDIA_PLAY_PAUSE: key = wxT("MEDIA_PLAY_PAUSE"); break;
|
||||||
|
case WXK_LAUNCH_MAIL: key = wxT("LAUNCH_MAIL"); break;
|
||||||
|
case WXK_LAUNCH_APP1: key = wxT("LAUNCH_APP1"); break;
|
||||||
|
case WXK_LAUNCH_APP2: key = wxT("LAUNCH_APP2"); break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@@ -6007,6 +6007,24 @@ const struct wxKeyMapping
|
|||||||
{ VK_RWIN, WXK_WINDOWS_RIGHT },
|
{ VK_RWIN, WXK_WINDOWS_RIGHT },
|
||||||
{ VK_APPS, WXK_WINDOWS_MENU },
|
{ VK_APPS, WXK_WINDOWS_MENU },
|
||||||
#endif // VK_APPS defined
|
#endif // VK_APPS defined
|
||||||
|
|
||||||
|
{ VK_BROWSER_BACK, WXK_BROWSER_BACK },
|
||||||
|
{ VK_BROWSER_FORWARD, WXK_BROWSER_FORWARD },
|
||||||
|
{ VK_BROWSER_REFRESH, WXK_BROWSER_REFRESH },
|
||||||
|
{ VK_BROWSER_STOP, WXK_BROWSER_STOP },
|
||||||
|
{ VK_BROWSER_SEARCH, WXK_BROWSER_SEARCH },
|
||||||
|
{ VK_BROWSER_FAVORITES, WXK_BROWSER_FAVORITES },
|
||||||
|
{ VK_BROWSER_HOME, WXK_BROWSER_HOME },
|
||||||
|
{ VK_VOLUME_MUTE, WXK_VOLUME_MUTE },
|
||||||
|
{ VK_VOLUME_DOWN, WXK_VOLUME_DOWN },
|
||||||
|
{ VK_VOLUME_UP, WXK_VOLUME_UP },
|
||||||
|
{ VK_MEDIA_NEXT_TRACK, WXK_MEDIA_NEXT_TRACK },
|
||||||
|
{ VK_MEDIA_PREV_TRACK, WXK_MEDIA_PREV_TRACK },
|
||||||
|
{ VK_MEDIA_STOP, WXK_MEDIA_STOP },
|
||||||
|
{ VK_MEDIA_PLAY_PAUSE, WXK_MEDIA_PLAY_PAUSE },
|
||||||
|
{ VK_LAUNCH_MAIL, WXK_LAUNCH_MAIL },
|
||||||
|
{ VK_LAUNCH_APP1, WXK_LAUNCH_APP1 },
|
||||||
|
{ VK_LAUNCH_APP2, WXK_LAUNCH_APP2 },
|
||||||
};
|
};
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
@@ -6134,58 +6152,6 @@ int VKToWX(WXWORD vk, WXLPARAM lParam, wchar_t *uc)
|
|||||||
*uc = WXK_RETURN;
|
*uc = WXK_RETURN;
|
||||||
break;
|
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:
|
default:
|
||||||
if ( (vk >= '0' && vk <= '9') || (vk >= 'A' && vk <= 'Z') )
|
if ( (vk >= '0' && vk <= '9') || (vk >= 'A' && vk <= 'Z') )
|
||||||
{
|
{
|
||||||
|
@@ -1218,6 +1218,23 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
case WXK_NUMPAD_BEGIN:
|
case WXK_NUMPAD_BEGIN:
|
||||||
case WXK_NUMPAD_INSERT:
|
case WXK_NUMPAD_INSERT:
|
||||||
case WXK_WINDOWS_LEFT:
|
case WXK_WINDOWS_LEFT:
|
||||||
|
case WXK_BROWSER_BACK:
|
||||||
|
case WXK_BROWSER_FORWARD:
|
||||||
|
case WXK_BROWSER_REFRESH:
|
||||||
|
case WXK_BROWSER_STOP:
|
||||||
|
case WXK_BROWSER_SEARCH:
|
||||||
|
case WXK_BROWSER_FAVORITES:
|
||||||
|
case WXK_BROWSER_HOME:
|
||||||
|
case WXK_VOLUME_MUTE:
|
||||||
|
case WXK_VOLUME_DOWN:
|
||||||
|
case WXK_VOLUME_UP:
|
||||||
|
case WXK_MEDIA_NEXT_TRACK:
|
||||||
|
case WXK_MEDIA_PREV_TRACK:
|
||||||
|
case WXK_MEDIA_STOP:
|
||||||
|
case WXK_MEDIA_PLAY_PAUSE:
|
||||||
|
case WXK_LAUNCH_MAIL:
|
||||||
|
case WXK_LAUNCH_APP1:
|
||||||
|
case WXK_LAUNCH_APP2:
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user