Send LI_CTYPE_STEAM for known Steam Controllers

This commit is contained in:
Cameron Gutman
2026-08-18 22:26:07 -05:00
parent 256022d3d6
commit d2f6990be6
2 changed files with 27 additions and 2 deletions
+26 -1
View File
@@ -701,7 +701,32 @@ void SdlInputHandler::handleControllerDeviceEvent(SDL_ControllerDeviceEvent* eve
type = LI_CTYPE_NINTENDO;
break;
default:
type = LI_CTYPE_UNKNOWN;
// These Steam Controller VID/PID combos come from SDL's controller_list.h
// TODO: Use SDL_GAMEPAD_TYPE_STEAM on SDL 3.6+
if (vendorId == 0x28de) {
switch (productId) {
case 0x1101:
case 0x1102:
case 0x1105:
case 0x1106:
case 0x1142:
case 0x1201:
case 0x1202:
case 0x1205:
case 0x1302:
case 0x1303:
case 0x1304:
case 0x1305:
type = LI_CTYPE_STEAM;
break;
default:
type = LI_CTYPE_UNKNOWN;
break;
}
}
else {
type = LI_CTYPE_UNKNOWN;
}
break;
}