Add support for SDL_GAMECONTROLLERCONFIG environment variable

This commit is contained in:
Iwan Timmer
2017-06-19 22:44:33 +02:00
parent c23d95f83c
commit 3e2c5b1789
3 changed files with 125 additions and 111 deletions

View File

@@ -252,11 +252,21 @@ int main(int argc, char* argv[]) {
config.stream.supportsHevc = config.codec != CODEC_H264 && (config.codec == CODEC_HEVC || platform_supports_hevc(system));
if (IS_EMBEDDED(system)) {
if (config.mapping == NULL) {
char* mapping_env = getenv("SDL_GAMECONTROLLERCONFIG");
if (config.mapping == NULL && mapping_env == NULL) {
fprintf(stderr, "Please specify mapping file as default mapping could not be found.\n");
exit(-1);
}
struct mapping* mappings = mapping_load(config.mapping, config.debug_level > 0);
struct mapping* mappings;
if (config.mapping != NULL)
mappings = mapping_load(config.mapping, config.debug_level > 0);
if (mapping_env != NULL) {
struct mapping* map = mapping_parse(mapping_env);
map->next = mappings;
mappings = map;
}
for (int i=0;i<config.inputsCount;i++) {
if (config.debug_level > 0)