Example #1
0
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 ();
}
Example #2
0
File: in_win.c Project: jite/jquake
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;
}