void IN_Init (void) { #ifdef GLQUAKE #ifdef WITH_EVDEV int i; #endif #endif Cvar_SetCurrentGroup (CVAR_GROUP_INPUT_MOUSE); Cvar_Register (&m_filter); #ifndef _Soft_SVGA Cvar_Register (&_windowed_mouse); #endif Cvar_SetCurrentGroup (CVAR_GROUP_INPUT_KEYBOARD); Cvar_Register (&cl_keypad); Cvar_ResetCurrentGroup (); if (!host_initialized) { #ifdef GLQUAKE typedef enum { mt_none = 0, mt_dga, mt_normal, mt_evdev } mousetype_t; extern cvar_t in_mouse; #ifdef WITH_EVDEV extern cvar_t in_mmt; extern cvar_t in_evdevice; #endif /* !WITH_EVDEV */ if (COM_CheckParm ("-nodga") || COM_CheckParm ("-nomdga")) Cvar_LatchedSetValue (&in_mouse, mt_normal); #ifdef WITH_EVDEV if ((i = COM_CheckParm ("-mevdev")) && (i < COM_Argc() - 1)) { Cvar_LatchedSet (&in_evdevice, COM_Argv(i + 1)); Cvar_LatchedSetValue (&in_mouse, mt_evdev); } if (COM_CheckParm ("-mmt")) Cvar_LatchedSetValue (&in_mmt, 1); #endif /* !WITH_EVDEV */ if (COM_CheckParm ("-nomouse")) Cvar_LatchedSetValue (&in_mouse, mt_none); #ifdef WITH_EVDEV extern void IN_EvdevList_f(void); Cmd_AddCommand ("in_evdevlist", IN_EvdevList_f); #endif /* !WITH_EVDEV */ #endif /* !GLQUAKE */ #ifdef WITH_KEYMAP IN_StartupKeymap(); #endif // WITH_KEYMAP #ifdef GLQUAKE Cmd_AddCommand ("in_restart", IN_Restart_f); #endif } IN_StartupMouse (); }
void IN_Init (void) { // // Reset globals to default. // IN_SetGlobals(); Cvar_SetCurrentGroup (CVAR_GROUP_INPUT_MOUSE); // Mouse variables. // Can be changed at any time. Cvar_Register (&m_rate); Cvar_Register (&m_showrate); Cvar_Register (&m_filter); // Latched. Cvar_Register (&in_mouse); Cvar_Register (&in_m_smooth); Cvar_Register (&in_m_os_parameters); Cvar_Register (&in_di_bufsize); Cvar_Register (&in_di_buffered); Cvar_Register (&in_raw_custom_device); Cvar_Register (&in_raw_custom_device_enable); if (!host_initialized) { void IN_Restart_f(void); if (COM_CheckParm("-dinput")) Cvar_LatchedSetValue (&in_mouse, mt_dinput); if (COM_CheckParm("-rawinput")) { if (COM_CheckParm("-dinput")) { Com_Printf ("Option -dinput will be ignored with -rawinput.\n"); } Cvar_LatchedSetValue (&in_mouse, mt_raw); } if (COM_CheckParm ("-nomouse")) Cvar_LatchedSetValue (&in_mouse, mt_none); if (COM_CheckParm("-m_smooth")) Cvar_LatchedSetValue (&in_m_smooth, 1); if (COM_CheckParm ("-noforcemspd")) Cvar_LatchedSetValue (&in_m_os_parameters, 1); if (COM_CheckParm ("-noforcemaccel")) Cvar_LatchedSetValue (&in_m_os_parameters, 2); if (COM_CheckParm ("-noforcemparms")) Cvar_LatchedSetValue (&in_m_os_parameters, 3); Cvar_SetCurrentGroup (CVAR_GROUP_INPUT_KEYBOARD); // keyboard variables Cvar_Register (&cl_keypad); Cmd_AddCommand ("in_restart", IN_Restart_f); Cvar_Register (&in_raw_allbuttons); } Cvar_ResetCurrentGroup (); switch(in_mouse.integer) { case mt_none: break; case mt_normal: { if (in_m_smooth.integer) Com_Printf ("%s will be ignored with non dinput mouse\n", in_m_smooth.name); break; } case mt_dinput: { #if DIRECTINPUT_VERSION >= 0x0700 if (in_m_os_parameters.integer) Com_Printf ("%s will be ignored with DirectInput mouse\n", in_m_os_parameters.name); break; #else // DIRECTINPUT_VERSION >= 0x0700 Com_Printf ("DirectInput mouse not supported in this build\n"); Cvar_LatchedSetValue (&in_mouse, mt_normal); break; #endif // DIRECTINPUT_VERSION >= 0x0700 else } case mt_raw: { #ifdef USINGRAWINPUT if (in_m_os_parameters.integer) Com_Printf ("%s will be ignored with RawInput mouse\n", in_m_os_parameters.name); break; #else // USINGRAWINPUT Com_Printf ("RawInput mouse not supported in this build\n"); Cvar_LatchedSetValue (&in_mouse, mt_normal); break; #endif // USINGRAWINPUT else } default: { Com_Printf("Unknow value %d of %s, using normal mouse\n", in_mouse.integer, in_mouse.name); Cvar_LatchedSetValue (&in_mouse, mt_normal); break; } } #ifdef WITH_KEYMAP if (!host_initialized) IN_StartupKeymap(); #endif // WITH_KEYMAP uiWheelMessage = RegisterWindowMessage ("MSWHEEL_ROLLMSG"); IN_StartupMouse (); input_initialized = true; }