diff --git a/4J_Input/Windows64/4J_Input.cpp b/4J_Input/Windows64/4J_Input.cpp index 48fa6da..de642c5 100644 --- a/4J_Input/Windows64/4J_Input.cpp +++ b/4J_Input/Windows64/4J_Input.cpp @@ -166,7 +166,20 @@ void C_4JInput::GetText(uint16_t *UTF16String) } const char* C_4JInput::PollControllerType(int ipad) { - return InternalInputManager.GetGamepadType(ipad); + const char* GamepadType = InternalInputManager.GetGamepadType(ipad); + + if (!GamepadType) + return "UNKNOWN"; + + if (strcmp(GamepadType, "SWITCH_PRO") == 0 || + strcmp(GamepadType, "JOYCON_PAIR") == 0 || + strcmp(GamepadType, "JOYCON_L") == 0 || + strcmp(GamepadType, "JOYCON_R") == 0) + { + return "SWITCH"; + } + + return GamepadType; // str1k3r - if not one of the switch types, return the type itself } bool C_4JInput::VerifyStrings(WCHAR **pwStringA, int iStringC, int (*Func)(LPVOID, STRING_VERIFY_RESPONSE *), LPVOID lpParam)