comparison controller_info.c @ 2315:b67e4e930fa4

Workaround for SDL2 being unreliable in updating mapping for already "open" game controller
author Michael Pavone <pavone@retrodev.com>
date Fri, 31 Mar 2023 00:17:40 -0700
parents 7df357522c49
children e836cf11783b
comparison
equal deleted inserted replaced
2314:59fd8aa352e2 2315:b67e4e930fa4
223 existing = tern_insert_ptr(existing, "mapping", strdup(mapping_string)); 223 existing = tern_insert_ptr(existing, "mapping", strdup(mapping_string));
224 info_config = tern_insert_node(info_config, guid_string, existing); 224 info_config = tern_insert_node(info_config, guid_string, existing);
225 persist_config_at(config, info_config, "controller_types.cfg"); 225 persist_config_at(config, info_config, "controller_types.cfg");
226 const char *parts[] = {guid_string, ",", mapping_string}; 226 const char *parts[] = {guid_string, ",", mapping_string};
227 char * full = alloc_concat_m(3, parts); 227 char * full = alloc_concat_m(3, parts);
228 uint8_t gc_events = render_are_gamepad_events_enabled();
229 render_enable_gamepad_events(0);
228 SDL_GameControllerAddMapping(full); 230 SDL_GameControllerAddMapping(full);
231 render_enable_gamepad_events(gc_events);
229 free(full); 232 free(full);
230 handle_joy_added(joystick); 233 handle_joy_added(joystick);
231 #endif 234 #endif
232 } 235 }
233 236