void input_config_parse_joy_button(config_file_t *conf, const char *prefix, const char *btn, struct retro_keybind *bind) { char str[256] = {0}; char tmp[64] = {0}; char key[64] = {0}; char key_label[64] = {0}; char *tmp_a = NULL; fill_pathname_join_delim(str, prefix, btn, '_', sizeof(str)); fill_pathname_join_delim(key, str, "btn", '_', sizeof(key)); fill_pathname_join_delim(key_label, str, "btn_label", '_', sizeof(key_label)); if (config_get_array(conf, key, tmp, sizeof(tmp))) { btn = tmp; if (string_is_equal(btn, "nul")) bind->joykey = NO_BTN; else { if (*btn == 'h') parse_hat(bind, btn + 1); else bind->joykey = strtoull(tmp, NULL, 0); } } if (config_get_string(conf, key_label, &tmp_a)) { strlcpy(bind->joykey_label, tmp_a, sizeof(bind->joykey_label)); free(tmp_a); } }
void input_config_parse_joy_button(config_file_t *conf, const char *prefix, const char *btn, struct retro_keybind *bind) { char tmp[64] = {0}; char key[64] = {0}; char key_label[64] = {0}; char *tmp_a = NULL; snprintf(key, sizeof(key), "%s_%s_btn", prefix, btn); snprintf(key_label, sizeof(key_label), "%s_%s_btn_label", prefix, btn); if (config_get_array(conf, key, tmp, sizeof(tmp))) { btn = tmp; if (!strcmp(btn, "nul")) bind->joykey = NO_BTN; else { if (*btn == 'h') parse_hat(bind, btn + 1); else bind->joykey = strtoull(tmp, NULL, 0); } } if (config_get_string(conf, key_label, &tmp_a)) strlcpy(bind->joykey_label, tmp_a, sizeof(bind->joykey_label)); }
void input_config_parse_joy_button(config_file_t *conf, const char *prefix, const char *btn, struct retro_keybind *bind) { char tmp[64]; char key[64]; snprintf(key, sizeof(key), "%s_%s_btn", prefix, btn); if (config_get_array(conf, key, tmp, sizeof(tmp))) { const char *btn = tmp; if (strcmp(btn, "nul") == 0) bind->joykey = NO_BTN; else { if (*btn == 'h') parse_hat(bind, btn + 1); else bind->joykey = strtoull(tmp, NULL, 0); } } }