Commit 3fbaa5da057ff3e4c333233ec485fac498fddbb0

Sam Lantinga 2019-06-12T10:35:47

The hat index passed to the application should be zero-based with no holes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c
index a30fe27..043d220 100644
--- a/src/joystick/linux/SDL_sysjoystick.c
+++ b/src/joystick/linux/SDL_sysjoystick.c
@@ -773,9 +773,8 @@ HandleHat(SDL_Joystick * stick, Uint8 hat, int axis, int value)
     }
     if (value != the_hat->axis[axis]) {
         the_hat->axis[axis] = value;
-        SDL_PrivateJoystickHat(stick, hat,
-                               position_map[the_hat->
-                                            axis[1]][the_hat->axis[0]]);
+        SDL_PrivateJoystickHat(stick, stick->hwdata->hats_indices[hat],
+                               position_map[the_hat->axis[1]][the_hat->axis[0]]);
     }
 }