From 993a56766db02fe5373a328fa1c2fe8da46801d6 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 3 Aug 2021 00:14:15 -0700 Subject: [PATCH] Only use the default Xbox mapping on Linux On Windows, this is already covered by XInput and is the wrong mapping if we try to use it with DirectInput/RAWINPUT/WGI controllers --- src/joystick/SDL_gamecontroller.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/joystick/SDL_gamecontroller.c b/src/joystick/SDL_gamecontroller.c index 1842afbf0..03f5ae7c1 100644 --- a/src/joystick/SDL_gamecontroller.c +++ b/src/joystick/SDL_gamecontroller.c @@ -1161,15 +1161,12 @@ static ControllerMapping_t *SDL_PrivateGetControllerMappingForNameAndGUID(const mapping = SDL_PrivateAddMappingForGUID(guid, "none,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3", &existing, SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT); + } else if (SDL_strstr(name, "Xbox") || SDL_strstr(name, "X-Box") || SDL_strstr(name, "XBOX")) { + mapping = s_pXInputMapping; } } #endif /* __LINUX__ */ - if (!mapping && name && !SDL_IsJoystickWGI(guid)) { - if (SDL_strstr(name, "Xbox") || SDL_strstr(name, "X-Box") || SDL_strstr(name, "XBOX")) { - mapping = s_pXInputMapping; - } - } if (!mapping) { mapping = s_pDefaultMapping; }