diff options
author | albeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-04 15:04:26 +0000 |
---|---|---|
committer | albeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-04 15:04:26 +0000 |
commit | ec92ba43f1fa76bac0857c84972c9e25513e0b7c (patch) | |
tree | e9b550a8215160cca8e12fb179de5609c9df4dd0 /libvo/x11_common.c | |
parent | 37805cf27c5f2305440aee6e8191f6e4b132abb0 (diff) | |
download | mpv-ec92ba43f1fa76bac0857c84972c9e25513e0b7c.tar.bz2 mpv-ec92ba43f1fa76bac0857c84972c9e25513e0b7c.tar.xz |
Support for "internet" or "multimedia" keyboards in X11.
Patch from Jason Tackaberry <tack at auc dot ca>.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9823 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r-- | libvo/x11_common.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 9f233fe91c..820bad441a 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -33,6 +33,7 @@ #ifdef HAVE_XF86VM #include <X11/extensions/xf86vmode.h> +#include <X11/XF86keysym.h> #endif #include "../input/input.h" @@ -403,6 +404,19 @@ void vo_uninit( void ) extern void mplayer_put_key(int code); +#ifdef XF86XK_AudioPause +void vo_x11_putkey_ext(int keysym){ + switch ( keysym ) + { + case XF86XK_AudioPause: mplayer_put_key(KEY_XF86_PAUSE); break; + case XF86XK_AudioStop: mplayer_put_key(KEY_XF86_STOP); break; + case XF86XK_AudioPrev: mplayer_put_key(KEY_XF86_PREV); break; + case XF86XK_AudioNext: mplayer_put_key(KEY_XF86_NEXT); break; + default: + } +} +#endif + void vo_x11_putkey(int key){ switch ( key ) { @@ -636,6 +650,9 @@ int vo_x11_check_events(Display *mydisplay){ { int key; XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat ); + #ifdef XF86XK_AudioPause + vo_x11_putkey_ext( keySym ); + #endif key=( (keySym&0xff00) != 0?( (keySym&0x00ff) + 256 ):( keySym ) ); #ifdef HAVE_NEW_GUI if ( ( use_gui )&&( key == wsEnter ) ) break; |