diff --git a/src/joystick/darwin/SDL_sysjoystick.c b/src/joystick/darwin/SDL_sysjoystick.c index e100ff5c0..925e0fd5b 100644 --- a/src/joystick/darwin/SDL_sysjoystick.c +++ b/src/joystick/darwin/SDL_sysjoystick.c @@ -739,12 +739,14 @@ void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick) while (element) { value = HIDGetElementValue(device, element); + if (value > 1) /* handle pressure-sensitive buttons */ + value = 1; if ( value != joystick->buttons[i] ) SDL_PrivateJoystickButton(joystick, i, value); element = element->pNext; ++i; } - + element = device->firstHat; i = 0; while (element)