Commit 5ab5c9b76784697092fe3ac340d4024ff59ab8d7

Sam Lantinga 2017-09-22T08:56:09

Avoid duplicate joystick axis events

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c
index bfce1fa..0724db2 100644
--- a/src/joystick/SDL_joystick.c
+++ b/src/joystick/SDL_joystick.c
@@ -672,6 +672,9 @@ SDL_PrivateJoystickAxis(SDL_Joystick * joystick, Uint8 axis, Sint16 value)
         joystick->axes[axis].zero = value;
         joystick->axes[axis].has_initial_value = SDL_TRUE;
     }
+    if (value == joystick->axes[axis].value) {
+        return 0;
+    }
     if (!joystick->axes[axis].sent_initial_value) {
         /* Make sure we don't send motion until there's real activity on this axis */
         const int MAX_ALLOWED_JITTER = SDL_JOYSTICK_AXIS_MAX / 80;  /* ShanWan PS3 controller needed 96 */