diff --git a/include/vlc_keys.h b/include/vlc_keys.h index f101e519ef..f8380806f3 100644 --- a/include/vlc_keys.h +++ b/include/vlc_keys.h @@ -60,6 +60,24 @@ #define KEY_MOUSEWHEELUP 0x001D0000 #define KEY_MOUSEWHEELDOWN 0x001E0000 +/* TODO: + * The media keys are only used in win32. Support for other OSes needs to + * be added */ +#define KEY_BROWSER_BACK 0x001F0000 +#define KEY_BROWSER_FORWARD 0x00200000 +#define KEY_BROWSER_REFRESH 0x00210000 +#define KEY_BROWSER_STOP 0x00220000 +#define KEY_BROWSER_SEARCH 0x00230000 +#define KEY_BROWSER_FAVORITES 0x00240000 +#define KEY_BROWSER_HOME 0x00250000 +#define KEY_VOLUME_MUTE 0x00260000 +#define KEY_VOLUME_DOWN 0x00270000 +#define KEY_VOLUME_UP 0x00280000 +#define KEY_MEDIA_NEXT_TRACK 0x00290000 +#define KEY_MEDIA_PREV_TRACK 0x002a0000 +#define KEY_MEDIA_STOP 0x002b0000 +#define KEY_MEDIA_PLAY_PAUSE 0x002c0000 + #define KEY_ASCII 0x0000007F #define KEY_UNSET 0 @@ -153,7 +171,21 @@ static const struct key_descriptor_s vlc_keys[] = { "\\", '\\' }, { "[", '[' }, { "]", ']' }, - { "*", '*' } + { "*", '*' }, + { "Browser Back", KEY_BROWSER_BACK }, + { "Browser Forward", KEY_BROWSER_FORWARD }, + { "Browser Refresh", KEY_BROWSER_REFRESH }, + { "Browser Stop", KEY_BROWSER_STOP }, + { "Browser Search", KEY_BROWSER_SEARCH }, + { "Browser Favorites", KEY_BROWSER_FAVORITES }, + { "Browser Home", KEY_BROWSER_HOME }, + { "Volume Mute", KEY_VOLUME_MUTE }, + { "Volume Down", KEY_VOLUME_DOWN }, + { "Volume Up", KEY_VOLUME_UP }, + { "Media Next Track", KEY_MEDIA_NEXT_TRACK }, + { "Media Prev Track", KEY_MEDIA_PREV_TRACK }, + { "Media Stop", KEY_MEDIA_STOP }, + { "Media Play Pause", KEY_MEDIA_PLAY_PAUSE } }; static inline char *KeyToString( int i_key ) diff --git a/modules/gui/skins2/win32/win32_loop.cpp b/modules/gui/skins2/win32/win32_loop.cpp index dd1b84d498..1ddc580b36 100644 --- a/modules/gui/skins2/win32/win32_loop.cpp +++ b/modules/gui/skins2/win32/win32_loop.cpp @@ -72,6 +72,20 @@ Win32Loop::Win32Loop( intf_thread_t *pIntf ): OSLoop( pIntf ) virtKeyToVlcKey[VK_END] = KEY_END; virtKeyToVlcKey[VK_PRIOR] = KEY_PAGEUP; virtKeyToVlcKey[VK_NEXT] = KEY_PAGEDOWN; + virtKeyToVlcKey[VK_BROWSER_BACK] = KEY_BROWSER_BACK; + virtKeyToVlcKey[VK_BROWSER_FORWARD] = KEY_BROWSER_FORWARD; + virtKeyToVlcKey[VK_BROWSER_REFRESH] = KEY_BROWSER_REFRESH; + virtKeyToVlcKey[VK_BROWSER_STOP] = KEY_BROWSER_STOP; + virtKeyToVlcKey[VK_BROWSER_SEARCH] = KEY_BROWSER_SEARCH; + virtKeyToVlcKey[VK_BROWSER_FAVORITES] = KEY_BROWSER_FAVORITES; + virtKeyToVlcKey[VK_BROWSER_HOME] = KEY_BROWSER_HOME; + virtKeyToVlcKey[VK_VOLUME_MUTE] = KEY_VOLUME_MUTE; + virtKeyToVlcKey[VK_VOLUME_DOWN] = KEY_VOLUME_DOWN; + virtKeyToVlcKey[VK_VOLUME_UP] = KEY_VOLUME_UP; + virtKeyToVlcKey[VK_MEDIA_NEXT_TRACK] = KEY_MEDIA_NEXT_TRACK; + virtKeyToVlcKey[VK_MEDIA_PREV_TRACK] = KEY_MEDIA_PREV_TRACK; + virtKeyToVlcKey[VK_MEDIA_STOP] = KEY_MEDIA_STOP; + virtKeyToVlcKey[VK_MEDIA_PLAY_PAUSE] = KEY_MEDIA_PLAY_PAUSE; } diff --git a/modules/video_output/directx/events.c b/modules/video_output/directx/events.c index 3add93b778..4cf930055c 100644 --- a/modules/video_output/directx/events.c +++ b/modules/video_output/directx/events.c @@ -32,7 +32,7 @@ #include /* strerror() */ #ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0400 +# define _WIN32_WINNT 0x0500 #endif #include @@ -875,6 +875,21 @@ static struct { VK_SHIFT, 0 }, { VK_MENU, 0 }, + { VK_BROWSER_BACK, KEY_BROWSER_BACK }, + { VK_BROWSER_FORWARD, KEY_BROWSER_FORWARD }, + { VK_BROWSER_REFRESH, KEY_BROWSER_REFRESH }, + { VK_BROWSER_STOP, KEY_BROWSER_STOP }, + { VK_BROWSER_SEARCH, KEY_BROWSER_SEARCH }, + { VK_BROWSER_FAVORITES, KEY_BROWSER_FAVORITES }, + { VK_BROWSER_HOME, KEY_BROWSER_HOME }, + { VK_VOLUME_MUTE, KEY_VOLUME_MUTE }, + { VK_VOLUME_DOWN, KEY_VOLUME_DOWN }, + { VK_VOLUME_UP, KEY_VOLUME_UP }, + { VK_MEDIA_NEXT_TRACK, KEY_MEDIA_NEXT_TRACK }, + { VK_MEDIA_PREV_TRACK, KEY_MEDIA_PREV_TRACK }, + { VK_MEDIA_STOP, KEY_MEDIA_STOP }, + { VK_MEDIA_PLAY_PAUSE, KEY_MEDIA_PLAY_PAUSE }, + { 0, 0 } };