Skip to content

Commit

Permalink
Allow the user to override the relative mouse mode.
Browse files Browse the repository at this point in the history
They almost never want to do this, as it seriously affects
applications that rely on continuous relative mouse motion.
  • Loading branch information
Sam Lantinga committed Jun 23, 2001
1 parent fbebdcb commit dc29b54
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions src/video/x11/SDL_x11mouse.c
Expand Up @@ -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) ) {
Expand Down

0 comments on commit dc29b54

Please sign in to comment.