Add support for multimedia keys to wxMSW and wxGTK
Add WXK_XXX constants for the standard multimedia keys and generate events corresponding to them under wxGTK and wxMSW. Closes https://github.com/wxWidgets/wxWidgets/pull/157
This commit is contained in:
committed by
Vadim Zeitlin
parent
777b7537c1
commit
abd46cb99a
@@ -2695,7 +2695,25 @@ enum wxKeyCode
|
|||||||
WXK_SPECIAL17,
|
WXK_SPECIAL17,
|
||||||
WXK_SPECIAL18,
|
WXK_SPECIAL18,
|
||||||
WXK_SPECIAL19,
|
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 */
|
/* This enum contains bit mask constants used in wxKeyEvent */
|
||||||
|
@@ -1046,7 +1046,25 @@ enum wxKeyCode
|
|||||||
WXK_SPECIAL17,
|
WXK_SPECIAL17,
|
||||||
WXK_SPECIAL18,
|
WXK_SPECIAL18,
|
||||||
WXK_SPECIAL19,
|
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
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -726,6 +726,57 @@ static long wxTranslateKeySymToWXKey(KeySym keysym, bool isChar)
|
|||||||
case GDK_F12:
|
case GDK_F12:
|
||||||
key_code = WXK_F1 + keysym - GDK_F1;
|
key_code = WXK_F1 + keysym - GDK_F1;
|
||||||
break;
|
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:
|
default:
|
||||||
key_code = 0;
|
key_code = 0;
|
||||||
|
@@ -6134,6 +6134,58 @@ 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') )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user