diff -ur mirrormagic-2.0.2.orig/src/events.c mirrormagic-2.0.2/src/events.c --- mirrormagic-2.0.2.orig/src/events.c 2001-01-14 17:14:33.000000000 +0100 +++ mirrormagic-2.0.2/src/events.c 2006-09-29 14:44:13.000000000 +0200 @@ -134,6 +134,13 @@ case EVENT_CLIENTMESSAGE: HandleClientMessageEvent((ClientMessageEvent *) event); break; + +#ifdef TARGET_SDL // hack SDL returns this when toggling fullscreen + case EVENT_FULLSCREENTOGGLE: + if (game_status == SETUP) // redraw the setup screen to update fs status + DrawSetupScreen(); + break; +#endif default: break; diff -ur mirrormagic-2.0.2.orig/src/libgame/sdl.c mirrormagic-2.0.2/src/libgame/sdl.c --- mirrormagic-2.0.2.orig/src/libgame/sdl.c 2002-03-19 04:10:37.000000000 +0100 +++ mirrormagic-2.0.2/src/libgame/sdl.c 2006-09-29 13:48:10.000000000 +0200 @@ -14,7 +14,7 @@ #include "system.h" #include "sound.h" #include "misc.h" - +#include "../main.h" #if defined(TARGET_SDL) @@ -930,6 +930,20 @@ ((ButtonEvent *)event)->y = 0; } #endif + if (event->type == EVENT_KEYPRESS) + { + /* make alt + enter toggle fullscreen */ + if ( (((KeyEvent *)event)->keysym.sym == KSYM_Return) && + (((KeyEvent *)event)->keysym.mod == KMOD_LALT) ) + { + if(SDL_WM_ToggleFullScreen(SDL_GetVideoSurface())) + { + video.fullscreen_enabled = !video.fullscreen_enabled; + setup.fullscreen = video.fullscreen_enabled; + } + event->type = EVENT_FULLSCREENTOGGLE; + } + } } #endif /* TARGET_SDL */ --- mirrormagic-2.0.2/src/libgame/sdl.h~ 2006-10-24 20:12:34.000000000 +0200 +++ mirrormagic-2.0.2/src/libgame/sdl.h 2006-10-24 20:12:34.000000000 +0200 @@ -87,6 +87,7 @@ #define EVENT_CLIENTMESSAGE SDL_QUIT #define EVENT_MAPNOTIFY SDL_USEREVENT + 4 #define EVENT_UNMAPNOTIFY SDL_USEREVENT + 5 +#define EVENT_FULLSCREENTOGGLE SDL_USEREVENT + 6 #define KSYM_UNDEFINED SDLK_UNKNOWN