From 21bf91537f4462a458b20334d59f43c3bdec6066 Mon Sep 17 00:00:00 2001 From: Edward Rudd Date: Thu, 30 May 2013 22:14:24 -0400 Subject: [PATCH] Add trigger value adjustment code to the SDL_GameControllerGetAxis code as well. - fixes Trigger values when polling instead of using event driven --- src/joystick/SDL_gamecontroller.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/joystick/SDL_gamecontroller.c b/src/joystick/SDL_gamecontroller.c index 0d5ae7176..bf85cdc10 100644 --- a/src/joystick/SDL_gamecontroller.c +++ b/src/joystick/SDL_gamecontroller.c @@ -960,7 +960,17 @@ SDL_GameControllerGetAxis(SDL_GameController * gamecontroller, SDL_GameControlle if (gamecontroller->mapping.axes[axis] >= 0 ) { - return ( SDL_JoystickGetAxis( gamecontroller->joystick, gamecontroller->mapping.axes[axis]) ); + Sint16 value = ( SDL_JoystickGetAxis( gamecontroller->joystick, gamecontroller->mapping.axes[axis]) ); + switch (axis) + { + case SDL_CONTROLLER_AXIS_TRIGGERLEFT: + case SDL_CONTROLLER_AXIS_TRIGGERRIGHT: + /* Shift it to be 0 - 32767. */ + value = value / 2 + 16384; + default: + break; + } + return value; } else if (gamecontroller->mapping.buttonasaxis[axis] >= 0 ) {