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:
Maarten Bent
2016-01-19 21:53:55 +01:00
committed by Vadim Zeitlin
parent 58c7e6d54f
commit 3b98570f57
5 changed files with 86 additions and 52 deletions

View File

@@ -6007,6 +6007,24 @@ const struct wxKeyMapping
{ VK_RWIN, WXK_WINDOWS_RIGHT },
{ VK_APPS, WXK_WINDOWS_MENU },
#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
@@ -6134,58 +6152,6 @@ 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') )
{