Add support for new SDL gamecontroller keywords.

This commit is contained in:
Marcel Admiraal 2021-02-07 13:52:38 +00:00
parent b70836c8ed
commit 3d479d086c
5 changed files with 44 additions and 2 deletions

View file

@ -426,6 +426,12 @@ void register_global_constants() {
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_DOWN);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_LEFT);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_RIGHT);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_MISC1);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE1);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE2);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE3);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE4);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_TOUCHPAD);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_SDL_MAX);
BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_MAX);

View file

@ -55,6 +55,12 @@ static const char *_joy_buttons[JOY_BUTTON_SDL_MAX] = {
"dpdown",
"dpleft",
"dpright",
"misc1",
"paddle1",
"paddle2",
"paddle3",
"paddle4",
"touchpad",
};
static const char *_joy_axes[JOY_AXIS_SDL_MAX] = {

View file

@ -985,6 +985,12 @@ static const char *_joy_button_descriptions[JOY_BUTTON_SDL_MAX] = {
TTRC("D-pad Down"),
TTRC("D-pad Left"),
TTRC("D-pad Right"),
TTRC("Xbox Share, PS5 Microphone, Nintendo Capture"),
TTRC("Xbox Paddle 1"),
TTRC("Xbox Paddle 2"),
TTRC("Xbox Paddle 3"),
TTRC("Xbox Paddle 4"),
TTRC("PS4/5 Touchpad"),
};
String InputEventJoypadButton::as_text() const {

View file

@ -76,7 +76,13 @@ enum JoyButtonList {
JOY_BUTTON_DPAD_DOWN = 12,
JOY_BUTTON_DPAD_LEFT = 13,
JOY_BUTTON_DPAD_RIGHT = 14,
JOY_BUTTON_SDL_MAX = 15,
JOY_BUTTON_MISC1 = 15,
JOY_BUTTON_PADDLE1 = 16,
JOY_BUTTON_PADDLE2 = 17,
JOY_BUTTON_PADDLE3 = 18,
JOY_BUTTON_PADDLE4 = 19,
JOY_BUTTON_TOUCHPAD = 20,
JOY_BUTTON_SDL_MAX = 21,
JOY_BUTTON_MAX = 36, // Android supports up to 36 buttons.
};

View file

@ -2147,7 +2147,25 @@
<constant name="JOY_BUTTON_DPAD_RIGHT" value="14" enum="JoyButtonList">
Game controller D-pad right button.
</constant>
<constant name="JOY_BUTTON_SDL_MAX" value="15" enum="JoyButtonList">
<constant name="JOY_BUTTON_MISC1" value="15" enum="JoyButtonList">
Game controller SDL miscellaneous button. Corresponds to Xbox share button, PS5 microphone button, Nintendo capture button.
</constant>
<constant name="JOY_BUTTON_PADDLE1" value="16" enum="JoyButtonList">
Game controller SDL paddle 1 button.
</constant>
<constant name="JOY_BUTTON_PADDLE2" value="17" enum="JoyButtonList">
Game controller SDL paddle 2 button.
</constant>
<constant name="JOY_BUTTON_PADDLE3" value="18" enum="JoyButtonList">
Game controller SDL paddle 3 button.
</constant>
<constant name="JOY_BUTTON_PADDLE4" value="19" enum="JoyButtonList">
Game controller SDL paddle 4 button.
</constant>
<constant name="JOY_BUTTON_TOUCHPAD" value="20" enum="JoyButtonList">
Game controller SDL touchpad button.
</constant>
<constant name="JOY_BUTTON_SDL_MAX" value="21" enum="JoyButtonList">
The number of SDL game controller buttons.
</constant>
<constant name="JOY_BUTTON_MAX" value="36" enum="JoyButtonList">