added vid_grabkeyboard cvar which defaults to 0, this means that the glx client no...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 12 Mar 2007 05:26:59 +0000 (05:26 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 12 Mar 2007 05:26:59 +0000 (05:26 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6957 d7cf8633-e32d-0410-b094-e92efae38249

vid.h
vid_glx.c
vid_shared.c

diff --git a/vid.h b/vid.h
index ac18202..10bf2bf 100644 (file)
--- a/vid.h
+++ b/vid.h
@@ -53,6 +53,7 @@ extern cvar_t vid_bitsperpixel;
 extern cvar_t vid_refreshrate;
 extern cvar_t vid_vsync;
 extern cvar_t vid_mouse;
+extern cvar_t vid_grabkeyboard;
 extern cvar_t vid_minwidth;
 extern cvar_t vid_minheight;
 
index de1ac66..96bf36f 100644 (file)
--- a/vid_glx.c
+++ b/vid_glx.c
@@ -287,7 +287,8 @@ static void IN_Activate (qboolean grab)
 #endif
                                XWarpPointer(vidx11_display, None, win, 0, 0, 0, 0, vid.width / 2, vid.height / 2);
 
-                       XGrabKeyboard(vidx11_display, win, False, GrabModeAsync, GrabModeAsync, CurrentTime);
+                       if (vid_grabkeyboard.integer)
+                               XGrabKeyboard(vidx11_display, win, False, GrabModeAsync, GrabModeAsync, CurrentTime);
 
                        mouse_x = mouse_y = 0;
                        cl_ignoremousemove = true;
index d1ee155..9024098 100644 (file)
@@ -83,6 +83,7 @@ cvar_t vid_stereobuffer = {CVAR_SAVE, "vid_stereobuffer", "0", "enables 'quad-bu
 
 cvar_t vid_vsync = {CVAR_SAVE, "vid_vsync", "0", "sync to vertical blank, prevents 'tearing' (seeing part of one frame and part of another on the screen at the same time), automatically disabled when doing timedemo benchmarks"};
 cvar_t vid_mouse = {CVAR_SAVE, "vid_mouse", "1", "whether to use the mouse in windowed mode (fullscreen always does)"};
+cvar_t vid_grabkeyboard = {CVAR_SAVE, "vid_grabkeyboard", "0", "whether to grab the keyboard when mouse is active (prevents use of volume control keys, music player keys, etc on some keyboards)"};
 cvar_t vid_minwidth = {0, "vid_minwidth", "0", "minimum vid_width that is acceptable (to be set in default.cfg in mods)"};
 cvar_t vid_minheight = {0, "vid_minheight", "0", "minimum vid_height that is acceptable (to be set in default.cfg in mods)"};
 cvar_t gl_combine = {0, "gl_combine", "1", "faster rendering by using GL_ARB_texture_env_combine extension (part of OpenGL 1.3 and above)"};
@@ -938,6 +939,7 @@ void VID_Shared_Init(void)
        Cvar_RegisterVariable(&vid_stereobuffer);
        Cvar_RegisterVariable(&vid_vsync);
        Cvar_RegisterVariable(&vid_mouse);
+       Cvar_RegisterVariable(&vid_grabkeyboard);
        Cvar_RegisterVariable(&vid_minwidth);
        Cvar_RegisterVariable(&vid_minheight);
        Cvar_RegisterVariable(&gl_combine);