From dc29b547fd44f144ae3ce7f91112367df89ae4ec Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 23 Jun 2001 22:00:59 +0000 Subject: [PATCH] Allow the user to override the relative mouse mode. They almost never want to do this, as it seriously affects applications that rely on continuous relative mouse motion. --- src/video/x11/SDL_x11mouse.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/video/x11/SDL_x11mouse.c b/src/video/x11/SDL_x11mouse.c index e506a610e..33c8614b5 100644 --- a/src/video/x11/SDL_x11mouse.c +++ b/src/video/x11/SDL_x11mouse.c @@ -229,11 +229,23 @@ static void SetMouseAccel(_THIS, const char *accel_param) /* Check to see if we need to enter or leave mouse relative mode */ void X11_CheckMouseModeNoLock(_THIS) { + char *env_override; + int enable_relative = 1; + + /* Allow the user to override the relative mouse mode. + They almost never want to do this, as it seriously affects + applications that rely on continuous relative mouse motion. + */ + env_override = getenv("SDL_MOUSE_NORELATIVE"); + if ( env_override ) { + enable_relative = atoi(env_override); + } + /* If the mouse is hidden and input is grabbed, we use relative mode */ - if ( !(SDL_cursorstate & CURSOR_VISIBLE) && + if ( enable_relative && + !(SDL_cursorstate & CURSOR_VISIBLE) && (this->input_grab != SDL_GRAB_OFF) && - (SDL_GetAppState() & SDL_APPACTIVE) && - !getenv("SDL_MOUSE_NORELATIVE") ) { + (SDL_GetAppState() & SDL_APPACTIVE) ) { if ( ! mouse_relative ) { X11_EnableDGAMouse(this); if ( ! (using_dga & DGA_MOUSE) ) {