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 (); }
static int S_CaptureDriverInit (int sampleRate) { SDL_AudioDeviceID inputdevid = 0; SDL_AudioSpec desired, obtained; int ret = 0; const char *requested_device = NULL; if (SDL_WasInit (SDL_INIT_AUDIO) == 0) ret = SDL_InitSubSystem (SDL_INIT_AUDIO); if (ret == -1) { Con_Printf ("Couldn't initialize SDL audio: %s\n", SDL_GetError ()); return false; } memset (&desired, 0, sizeof (desired)); desired.freq = sampleRate; desired.samples = 64; desired.format = AUDIO_S16LSB; desired.channels = 1; /* Make audiodevice list start from index 1 so that 0 can be system default */ if (s_inputdevice.integer > 0) { requested_device = SDL_GetAudioDeviceName (s_inputdevice.integer - 1, 0); } if ((inputdevid = SDL_OpenAudioDevice (requested_device, 1, &desired, &obtained, 0)) <= 0) { Com_Printf ("sound: couldn't open SDL audio: %s\n", SDL_GetError ()); if (requested_device != NULL) { Com_Printf ("sound: retrying with default audio device\n"); if ((inputdevid = SDL_OpenAudioDevice (NULL, 1, &desired, &obtained, 0)) <= 0) { Com_Printf ("sound: failure again, aborting...\n"); return 0; } Cvar_LatchedSet (&s_inputdevice, "0"); } } if (obtained.format != AUDIO_S16LSB) { Com_Printf ("SDL audio format %d unsupported.\n", obtained.format); SDL_CloseAudioDevice (inputdevid); inputdevid = 0; return 0; } if (obtained.channels != 1 && obtained.channels != 2) { Com_Printf ("SDL audio channels %d unsupported.\n", obtained.channels); SDL_CloseAudioDevice (inputdevid); inputdevid = 0; return 0; } Com_Printf ("Using SDL audio capture driver: %s @ %d Hz (samplerate %d)\n", SDL_GetCurrentAudioDriver (), obtained.freq, obtained.samples); SDL_PauseAudioDevice (inputdevid, 0); return inputdevid; }