Browse Source

Add amazon luna and google stadia enums to Joystick:getGamepadType.

Alex Szpakowski 3 years ago
parent
commit
59f532fdfa

+ 10 - 8
src/modules/joystick/Joystick.cpp

@@ -58,14 +58,16 @@ STRINGMAP_CLASS_END(Joystick, Joystick::Hat, Joystick::HAT_MAX_ENUM, hat)
 
 STRINGMAP_CLASS_BEGIN(Joystick, Joystick::GamepadType, Joystick::GAMEPAD_TYPE_MAX_ENUM, gamepadType)
 {
-	{ "unknown",   Joystick::GAMEPAD_TYPE_UNKNOWN             },
-	{ "xbox360",   Joystick::GAMEPAD_TYPE_XBOX360             },
-	{ "xboxone",   Joystick::GAMEPAD_TYPE_XBOXONE             },
-	{ "ps3",       Joystick::GAMEPAD_TYPE_PS3                 },
-	{ "ps4",       Joystick::GAMEPAD_TYPE_PS4                 },
-	{ "ps5",       Joystick::GAMEPAD_TYPE_PS5                 },
-	{ "switchpro", Joystick::GAMEPAD_TYPE_NINTENDO_SWITCH_PRO },
-	{ "virtual",   Joystick::GAMEPAD_TYPE_VIRTUAL             },
+	{ "unknown",    Joystick::GAMEPAD_TYPE_UNKNOWN             },
+	{ "xbox360",    Joystick::GAMEPAD_TYPE_XBOX360             },
+	{ "xboxone",    Joystick::GAMEPAD_TYPE_XBOXONE             },
+	{ "ps3",        Joystick::GAMEPAD_TYPE_PS3                 },
+	{ "ps4",        Joystick::GAMEPAD_TYPE_PS4                 },
+	{ "ps5",        Joystick::GAMEPAD_TYPE_PS5                 },
+	{ "switchpro",  Joystick::GAMEPAD_TYPE_NINTENDO_SWITCH_PRO },
+	{ "amazonluna", Joystick::GAMEPAD_TYPE_AMAZON_LUNA         },
+	{ "stadia",     Joystick::GAMEPAD_TYPE_STADIA              },
+	{ "virtual",    Joystick::GAMEPAD_TYPE_VIRTUAL             },
 }
 STRINGMAP_CLASS_END(Joystick, Joystick::GamepadType, Joystick::GAMEPAD_TYPE_MAX_ENUM, gamepadType)
 

+ 2 - 0
src/modules/joystick/Joystick.h

@@ -65,6 +65,8 @@ public:
 		GAMEPAD_TYPE_PS4,
 		GAMEPAD_TYPE_PS5,
 		GAMEPAD_TYPE_NINTENDO_SWITCH_PRO,
+		GAMEPAD_TYPE_AMAZON_LUNA,
+		GAMEPAD_TYPE_STADIA,
 		GAMEPAD_TYPE_VIRTUAL,
 		GAMEPAD_TYPE_MAX_ENUM
 	};

+ 4 - 0
src/modules/joystick/sdl/Joystick.cpp

@@ -256,6 +256,10 @@ Joystick::GamepadType Joystick::getGamepadType() const
 #if SDL_VERSION_ATLEAST(2, 0, 14)
 		case SDL_CONTROLLER_TYPE_VIRTUAL: return GAMEPAD_TYPE_VIRTUAL;
 		case SDL_CONTROLLER_TYPE_PS5: return GAMEPAD_TYPE_PS5;
+#endif
+#if SDL_VERSION_ATLEAST(2, 0, 16)
+		case SDL_CONTROLLER_TYPE_AMAZON_LUNA: return GAMEPAD_TYPE_AMAZON_LUNA;
+		case SDL_CONTROLLER_TYPE_GOOGLE_STADIA: return GAMEPAD_TYPE_STADIA;
 #endif
 	}
 #endif