diff options
-rw-r--r-- | DOCS/de/mplayer.1 | 3 | ||||
-rw-r--r-- | DOCS/en/mplayer.1 | 4 | ||||
-rw-r--r-- | cfg-mplayer.h | 2 | ||||
-rw-r--r-- | libvo/x11_common.c | 7 |
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) { |