summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authoralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-04-04 15:04:26 +0000
committeralbeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-04-04 15:04:26 +0000
commitec92ba43f1fa76bac0857c84972c9e25513e0b7c (patch)
treee9b550a8215160cca8e12fb179de5609c9df4dd0 /libvo
parent37805cf27c5f2305440aee6e8191f6e4b132abb0 (diff)
downloadmpv-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')
-rw-r--r--libvo/x11_common.c17
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;