mirror of
https://github.com/encounter/SDL.git
synced 2025-12-09 05:27:48 +00:00
Added effects support for virtual controllers
This commit is contained in:
@@ -312,6 +312,29 @@ static SDL_bool ShowingFront()
|
||||
return showing_front;
|
||||
}
|
||||
|
||||
static void VirtualControllerSetPlayerIndex(void *userdata, int player_index)
|
||||
{
|
||||
SDL_Log("Virtual Controller: player index set to %d\n", player_index);
|
||||
}
|
||||
|
||||
static int VirtualControllerRumble(void *userdata, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)
|
||||
{
|
||||
SDL_Log("Virtual Controller: rumble set to %d/%d\n", low_frequency_rumble, high_frequency_rumble);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int VirtualControllerRumbleTriggers(void *userdata, Uint16 left_rumble, Uint16 right_rumble)
|
||||
{
|
||||
SDL_Log("Virtual Controller: trigger rumble set to %d/%d\n", left_rumble, right_rumble);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int VirtualControllerSetLED(void *userdata, Uint8 red, Uint8 green, Uint8 blue)
|
||||
{
|
||||
SDL_Log("Virtual Controller: LED set to RGB %d,%d,%d\n", red, green, blue);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int OpenVirtualController()
|
||||
{
|
||||
SDL_VirtualJoystickDesc desc;
|
||||
@@ -321,6 +344,10 @@ static int OpenVirtualController()
|
||||
desc.type = SDL_JOYSTICK_TYPE_GAMECONTROLLER;
|
||||
desc.naxes = SDL_CONTROLLER_AXIS_MAX;
|
||||
desc.nbuttons = SDL_CONTROLLER_BUTTON_MAX;
|
||||
desc.SetPlayerIndex = VirtualControllerSetPlayerIndex;
|
||||
desc.Rumble = VirtualControllerRumble;
|
||||
desc.RumbleTriggers = VirtualControllerRumbleTriggers;
|
||||
desc.SetLED = VirtualControllerSetLED;
|
||||
return SDL_JoystickAttachVirtualEx(&desc);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user