SDL: support for 4 gamepads, I have tested with only three gamepads so 4-th gamepad could fail

This commit is contained in:
Sergii Pylypenko
2017-11-08 22:09:32 +02:00
parent b742ebaf72
commit b12fc6e402
6 changed files with 223 additions and 26 deletions

View File

@@ -261,6 +261,154 @@ extern int SDL_ANDROID_isTouchscreenKeyboardUsed;
#define SDL_ANDROID_GAMEPAD_0_KEYCODE_15 RIGHT
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_0
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_0 SDL_ANDROID_GAMEPAD_0_KEYCODE_0
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_1
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_1 SDL_ANDROID_GAMEPAD_0_KEYCODE_1
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_2
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_2 SDL_ANDROID_GAMEPAD_0_KEYCODE_2
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_3
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_3 SDL_ANDROID_GAMEPAD_0_KEYCODE_3
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_4
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_4 SDL_ANDROID_GAMEPAD_0_KEYCODE_4
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_5
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_5 SDL_ANDROID_GAMEPAD_0_KEYCODE_5
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_6
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_6 SDL_ANDROID_GAMEPAD_0_KEYCODE_6
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_7
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_7 SDL_ANDROID_GAMEPAD_0_KEYCODE_7
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_8
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_8 SDL_ANDROID_GAMEPAD_0_KEYCODE_8
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_9
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_9 SDL_ANDROID_GAMEPAD_0_KEYCODE_9
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_10
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_10 SDL_ANDROID_GAMEPAD_0_KEYCODE_10
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_11
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_11 SDL_ANDROID_GAMEPAD_0_KEYCODE_11
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_12
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_12 SDL_ANDROID_GAMEPAD_0_KEYCODE_12
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_13
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_13 SDL_ANDROID_GAMEPAD_0_KEYCODE_13
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_14
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_14 SDL_ANDROID_GAMEPAD_0_KEYCODE_14
#endif
#ifndef SDL_ANDROID_GAMEPAD_1_KEYCODE_15
#define SDL_ANDROID_GAMEPAD_1_KEYCODE_15 SDL_ANDROID_GAMEPAD_0_KEYCODE_15
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_0
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_0 SDL_ANDROID_GAMEPAD_0_KEYCODE_0
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_1
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_1 SDL_ANDROID_GAMEPAD_0_KEYCODE_1
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_2
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_2 SDL_ANDROID_GAMEPAD_0_KEYCODE_2
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_3
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_3 SDL_ANDROID_GAMEPAD_0_KEYCODE_3
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_4
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_4 SDL_ANDROID_GAMEPAD_0_KEYCODE_4
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_5
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_5 SDL_ANDROID_GAMEPAD_0_KEYCODE_5
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_6
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_6 SDL_ANDROID_GAMEPAD_0_KEYCODE_6
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_7
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_7 SDL_ANDROID_GAMEPAD_0_KEYCODE_7
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_8
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_8 SDL_ANDROID_GAMEPAD_0_KEYCODE_8
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_9
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_9 SDL_ANDROID_GAMEPAD_0_KEYCODE_9
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_10
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_10 SDL_ANDROID_GAMEPAD_0_KEYCODE_10
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_11
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_11 SDL_ANDROID_GAMEPAD_0_KEYCODE_11
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_12
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_12 SDL_ANDROID_GAMEPAD_0_KEYCODE_12
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_13
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_13 SDL_ANDROID_GAMEPAD_0_KEYCODE_13
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_14
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_14 SDL_ANDROID_GAMEPAD_0_KEYCODE_14
#endif
#ifndef SDL_ANDROID_GAMEPAD_2_KEYCODE_15
#define SDL_ANDROID_GAMEPAD_2_KEYCODE_15 SDL_ANDROID_GAMEPAD_0_KEYCODE_15
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_0
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_0 SDL_ANDROID_GAMEPAD_0_KEYCODE_0
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_1
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_1 SDL_ANDROID_GAMEPAD_0_KEYCODE_1
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_2
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_2 SDL_ANDROID_GAMEPAD_0_KEYCODE_2
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_3
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_3 SDL_ANDROID_GAMEPAD_0_KEYCODE_3
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_4
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_4 SDL_ANDROID_GAMEPAD_0_KEYCODE_4
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_5
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_5 SDL_ANDROID_GAMEPAD_0_KEYCODE_5
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_6
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_6 SDL_ANDROID_GAMEPAD_0_KEYCODE_6
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_7
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_7 SDL_ANDROID_GAMEPAD_0_KEYCODE_7
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_8
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_8 SDL_ANDROID_GAMEPAD_0_KEYCODE_8
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_9
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_9 SDL_ANDROID_GAMEPAD_0_KEYCODE_9
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_10
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_10 SDL_ANDROID_GAMEPAD_0_KEYCODE_10
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_11
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_11 SDL_ANDROID_GAMEPAD_0_KEYCODE_11
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_12
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_12 SDL_ANDROID_GAMEPAD_0_KEYCODE_12
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_13
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_13 SDL_ANDROID_GAMEPAD_0_KEYCODE_13
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_14
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_14 SDL_ANDROID_GAMEPAD_0_KEYCODE_14
#endif
#ifndef SDL_ANDROID_GAMEPAD_3_KEYCODE_15
#define SDL_ANDROID_GAMEPAD_3_KEYCODE_15 SDL_ANDROID_GAMEPAD_0_KEYCODE_15
#endif
// Queue events to main thread
extern void SDL_ANDROID_MainThreadPushMouseMotion(int x, int y);
extern void SDL_ANDROID_MainThreadPushMouseButton(int pressed, int button);