Пример #1
0
void JoyReset(joysticks_t *joys)
{
	int i;

	JoyTerminate(joys);

	printf("Checking for joysticks... ");
	joys->numJoys = SDL_NumJoysticks();
	if (joys->numJoys == 0)
	{
		printf("None found.\n");
		return;
	}
	printf("%d found\n", joys->numJoys);
	for (i = 0; i < joys->numJoys; i++)
	{
		joys->joys[i].j = SDL_JoystickOpen(i);

		if (joys->joys[i].j == NULL)
		{
			printf("Failed to open joystick.\n");
		}

		joys->joys[i].numButtons = SDL_JoystickNumButtons(joys->joys[i].j);
		joys->joys[i].numAxes = SDL_JoystickNumAxes(joys->joys[i].j);
		joys->joys[i].numHats = SDL_JoystickNumHats(joys->joys[i].j);

		printf("Opened Joystick %d\n", i);
		printf(" -> %s\n", SDL_JoystickName(i));
		printf(" -> Axes: %d Buttons: %d Hats: %d\n",
			joys->joys[i].numAxes, joys->joys[i].numButtons, joys->joys[i].numHats);
	}
	JoyPoll(joys);
}
Пример #2
0
void JoyReset(joysticks_t *joys)
{
	int i;

	JoyTerminate(joys);

	printf("Checking for joysticks... ");
	joys->numJoys = SDL_NumJoysticks();
	if (joys->numJoys == 0)
	{
		printf("None found.\n");
		return;
	}
	printf("%d found\n", joys->numJoys);
	for (i = 0; i < joys->numJoys; i++)
	{
		joystick_t *joy = &joys->joys[i];
		joy->j = SDL_JoystickOpen(i);
		if (joy->j == NULL)
		{
			printf("Failed to open joystick.\n");
			continue;
		}

		// Find joystick-specific fields
		const char *name = SDL_JoystickName(i);
		if (strstr(name, "Xbox 360") != NULL)
		{
			joy->Type = JOY_XBOX_360;
			joy->Button1 = 0;	// A
			joy->Button2 = 1;	// B
			joy->ButtonMap = 4;	// back
			joy->ButtonEsc = 5;	// start
		}
		else
		{
			joy->Type = JOY_UNKNOWN;
			joy->Button1 = 0;
			joy->Button2 = 1;
			joy->ButtonMap = 2;
			joy->ButtonEsc = 3;
		}

		joy->numButtons = SDL_JoystickNumButtons(joy->j);
		joy->numAxes = SDL_JoystickNumAxes(joy->j);
		joy->numHats = SDL_JoystickNumHats(joy->j);

		printf("Opened Joystick %d\n", i);
		printf(" -> %s\n", JoyName(i));
		printf(" -> Axes: %d Buttons: %d Hats: %d\n",
			joy->numAxes, joy->numButtons, joy->numHats);
	}
	JoyPoll(joys);
}
Пример #3
0
void EventTerminate(EventHandlers *handlers)
{
	JoyTerminate(&handlers->joysticks);
}