summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gui/interface.c1
-rw-r--r--Gui/interface.h1
-rw-r--r--Gui/mplayer/mw.c10
3 files changed, 11 insertions, 1 deletions
diff --git a/Gui/interface.c b/Gui/interface.c
index e378981ac2..c3ef86fbf4 100644
--- a/Gui/interface.c
+++ b/Gui/interface.c
@@ -426,6 +426,7 @@ int guiGetEvent( int type,char * arg )
switch ( type )
{
case guiXEvent:
+ guiIntfStruct.event_struct=(void *)arg;
wsEvents( wsDisplay,(XEvent *)arg,NULL );
gtkEventHandling();
break;
diff --git a/Gui/interface.h b/Gui/interface.h
index 5e1dd7829f..d16a86d618 100644
--- a/Gui/interface.h
+++ b/Gui/interface.h
@@ -59,6 +59,7 @@ typedef struct
guiUnknowErrorStruct error;
void * sh_video;
+ void * event_struct;
int DiskChanged;
diff --git a/Gui/mplayer/mw.c b/Gui/mplayer/mw.c
index 9d0a6fb6ae..678685d4c4 100644
--- a/Gui/mplayer/mw.c
+++ b/Gui/mplayer/mw.c
@@ -640,7 +640,7 @@ void mplMainKeyHandle( int KeyCode,int Type,int Key )
{
switch ( Key )
{
- case wsEnter: msg=evPlay; break;
+ case wsEnter: msg=evPlay; break;
case wsXF86LowerVolume: msg=evDecVolume; break;
case wsXF86RaiseVolume: msg=evIncVolume; break;
case wsXF86Mute: msg=evMute; break;
@@ -649,6 +649,14 @@ void mplMainKeyHandle( int KeyCode,int Type,int Key )
case wsXF86Prev: msg=evPrev; break;
case wsXF86Next: msg=evNext; break;
case wsXF86Media: msg=evLoad; break;
+ case wsEscape:
+ if ( appMPlayer.subWindow.isFullScreen )
+ {
+ if ( guiIntfStruct.event_struct )
+ { memset( guiIntfStruct.event_struct,0,sizeof( XEvent ) ); guiIntfStruct.event_struct=NULL; }
+ mplEventHandling( evNormalSize,0 );
+ break;
+ }
default: vo_x11_putkey( Key ); return;
}