summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-31 22:02:25 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-31 22:02:25 +0000
commit6483811e490f6fe2aec1254f47942e8f9ba509ea (patch)
tree3db0c22c7d6841ad3c77e0d231b5c77c88b90475
parent0722563d50942247792f513440c869c1d5ed5334 (diff)
downloadmpv-6483811e490f6fe2aec1254f47942e8f9ba509ea.tar.bz2
mpv-6483811e490f6fe2aec1254f47942e8f9ba509ea.tar.xz
Recieving of mouse events can be switched off. Patch by Markus Rechberger <mrechberger@web.de>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10755 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--DOCS/de/mplayer.13
-rw-r--r--DOCS/en/mplayer.14
-rw-r--r--cfg-mplayer.h2
-rw-r--r--libvo/x11_common.c7
4 files changed, 14 insertions, 2 deletions
diff --git a/DOCS/de/mplayer.1 b/DOCS/de/mplayer.1
index 24507d5849..d148cd22ba 100644
--- a/DOCS/de/mplayer.1
+++ b/DOCS/de/mplayer.1
@@ -193,6 +193,9 @@ gleichen Verzeichnis wie 'movie.avi'.
.B \-, \-use-stdin
Liest Daten von stdin. \-idx funktioniert hiermit nicht.
.TP
+.B \-nomouseinput
+Sperrt die Eingabe mittels Mausbuttons (Buttonpress/release), diese Option wird unter anderem von mozplayerxp verwendet um ein eigenes Kontextmenü anzuzeigen.
+.TP
.B \-autoq <Qualität> (zusammen mit \-vf pp)
Ändert dynamisch das Qualitätslevel der Nachbearbeitung, je nachdem, wieviel
CPU-Zeit gerade frei ist.
diff --git a/DOCS/en/mplayer.1 b/DOCS/en/mplayer.1
index c384177be4..84ecf98fb0 100644
--- a/DOCS/en/mplayer.1
+++ b/DOCS/en/mplayer.1
@@ -542,7 +542,9 @@ in a playlist or intend to read from stdin later on via the openfile or
openlist commands you
.B need
this option.
-
+.TP
+.B \-nomouseinput
+Disable any mousebutton press/release input (mozplayerxp's context menu relies on this option)
.SH "DEMUXER/STREAM OPTIONS"
.TP
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 4dfca1af6a..045a070131 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -83,6 +83,7 @@ extern int fs_layer;
extern int stop_xscreensaver;
extern int vo_x11_keepaspect;
extern char **vo_fstype_list;
+extern int vo_nomouse_input;
#endif
#ifdef HAVE_AA
@@ -291,6 +292,7 @@ m_option_t mplayer_opts[]={
{"keepaspect", &vo_x11_keepaspect, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"nokeepaspect", &vo_x11_keepaspect, CONF_TYPE_FLAG, 0, 1, 0, NULL},
{"fstype", &vo_fstype_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
+ {"nomouseinput", &vo_nomouse_input, CONF_TYPE_FLAG,0,0,-1,NULL},
#endif
#ifdef HAVE_XINERAMA
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index c4620c84bf..ce5005fc91 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -71,6 +71,7 @@ int mLocalDisplay;
/* output window id */
int WinID=-1;
+int vo_nomouse_input = 0;
int vo_mouse_autohide = 0;
int vo_wm_type = 0;
static int vo_fs_type = 0;
@@ -1184,7 +1185,11 @@ void vo_x11_selectinput_witherr(Display *display, Window w, long event_mask)
XSync(display, False);
old_handler = XSetErrorHandler(x11_selectinput_errorhandler);
selectinput_err = 0;
- XSelectInput(display, w, event_mask);
+ if(vo_nomouse_input){
+ XSelectInput(display,w,event_mask & (~(ButtonPressMask | ButtonReleaseMask)));
+ } else {
+ XSelectInput(display, w, event_mask);
+ }
XSync(display, False);
XSetErrorHandler(old_handler);
if (selectinput_err) {