|
@@ -813,7 +813,7 @@ static ControllerMapping_t *SDL_PrivateGetControllerMappingForGUID(SDL_JoystickG
|
|
|
|
|
|
/* Try harder to get the best match, or create a mapping */
|
|
|
|
|
|
- if (vendor && product) {
|
|
|
+ if (SDL_JoystickGUIDUsesVersion(guid)) {
|
|
|
/* Try again, ignoring the version */
|
|
|
if (crc) {
|
|
|
mapping = SDL_PrivateMatchControllerMappingForGUID(guid, SDL_TRUE, SDL_FALSE);
|
|
@@ -1392,7 +1392,11 @@ static void SDL_PrivateAppendToMappingString(char *mapping_string,
|
|
|
(void)SDL_snprintf(buffer, sizeof(buffer), "b%i", mapping->target);
|
|
|
break;
|
|
|
case EMappingKind_Axis:
|
|
|
- (void)SDL_snprintf(buffer, sizeof(buffer), "a%i", mapping->target);
|
|
|
+ (void)SDL_snprintf(buffer, sizeof(buffer), "%sa%i%s",
|
|
|
+ mapping->half_axis_positive ? "+" :
|
|
|
+ mapping->half_axis_negative ? "-" : "",
|
|
|
+ mapping->target,
|
|
|
+ mapping->axis_reversed ? "~" : "");
|
|
|
break;
|
|
|
case EMappingKind_Hat:
|
|
|
(void)SDL_snprintf(buffer, sizeof(buffer), "h%i.%i", mapping->target >> 4, mapping->target & 0x0F);
|
|
@@ -1450,6 +1454,7 @@ static ControllerMapping_t *SDL_PrivateGenerateAutomaticControllerMapping(const
|
|
|
SDL_PrivateAppendToMappingString(mapping, sizeof(mapping), "righty", &raw_map->righty);
|
|
|
SDL_PrivateAppendToMappingString(mapping, sizeof(mapping), "lefttrigger", &raw_map->lefttrigger);
|
|
|
SDL_PrivateAppendToMappingString(mapping, sizeof(mapping), "righttrigger", &raw_map->righttrigger);
|
|
|
+ SDL_PrivateAppendToMappingString(mapping, sizeof(mapping), "touchpad", &raw_map->touchpad);
|
|
|
|
|
|
return SDL_PrivateAddMappingForGUID(guid, mapping, &existing, SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT);
|
|
|
}
|