case XK_Insert:key = K_INS; break;
case XK_KP_Insert: key = K_KP_INS; break;
- case XK_KP_Multiply: key = '*'; break;
+ case XK_KP_Multiply: key = K_KP_MULTIPLY; break;
case XK_KP_Add: key = K_KP_PLUS; break;
case XK_KP_Subtract: key = K_KP_MINUS; break;
case XK_KP_Divide: key = K_KP_SLASH; break;
#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 || vid_isfullscreen)
+ XGrabKeyboard(vidx11_display, win, False, GrabModeAsync, GrabModeAsync, CurrentTime);
mouse_x = mouse_y = 0;
cl_ignoremousemove = true;
break;
case DestroyNotify:
// window has been destroyed
- Sys_Quit();
+ Sys_Quit(0);
break;
case ClientMessage:
// window manager messages
if ((event.xclient.format == 32) && ((unsigned int)event.xclient.data.l[0] == wm_delete_window_atom))
- Sys_Quit();
+ Sys_Quit(0);
break;
case MapNotify:
// window restored
{
Con_Printf("Received signal %d, exiting...\n", sig);
VID_RestoreSystemGamma();
- Sys_Quit();
- exit(0);
+ Sys_Quit(1);
}
void InitSig(void)
#endif
InitSig(); // trap evil signals
// COMMANDLINEOPTION: Input: -nomouse disables mouse support (see also vid_mouse cvar)
- if (COM_CheckParm ("-nomouse") || COM_CheckParm("-safe"))
+ if (COM_CheckParm ("-nomouse"))
mouse_avail = false;
}