--- allegro-4.2.2/src/x/xwin.c 2009-09-10 22:29:53.000000000 +0200 +++ allegro-4.2.2.new/src/x/xwin.c 2009-09-10 21:48:21.000000000 +0200 @@ -2853,6 +2853,13 @@ } } + /* Warp the pointer to the upper left corner (where our fs_window is), + this is necessary as the: XF86VidModeSetViewPort() call below does + not seem to do anything on newer Xorg servers, instead the viewport + seems to always be centered at the last mouse cursor position. */ + XWarpPointer(_xwin.display, None, XDefaultRootWindow(_xwin.display), + 0, 0, 0, 0, 0, 0); + /* Switch video mode. */ if ((_xwin.modesinfo[i] == _xwin.orig_modeinfo) || !XF86VidModeSwitchToMode(_xwin.display, _xwin.screen,