Mercurial > repos > blastem
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 |