(Some) button labels missing in autoconfig
-
I just configured this controller and see that only most of the button labels are included; the D-Pad and Right Analog Stick have mappings (and hotkeys where applicable), but no labels:
$ cat Microntek\ \ \ \ \ \ \ \ \ \ \ \ \ \ USB\ Joystick\ \ \ \ \ \ \ \ \ \ .cfg input_device = "Microntek USB Joystick " input_driver = "udev" input_vendor_id = "121" input_product_id = "6" input_enable_hotkey_btn = "8" input_r3_btn = "11" input_r3_btn_label = "R3" input_r_y_minus_axis = "-3" input_l_btn = "4" input_l_btn_label = "L1" input_load_state_btn = "4" input_r_y_plus_axis = "+3" input_up_btn = "h0up" input_left_btn = "h0left" input_state_slot_decrease_btn = "h0left" input_select_btn = "8" input_select_btn_label = "Select" input_r2_btn = "7" input_r2_btn_label = "R2" input_r_x_minus_axis = "-2" input_l_y_plus_axis = "+1" input_l_y_plus_axis_label = "Left Analog Y+" input_l_x_plus_axis = "+0" input_l_x_plus_axis_label = "Left Analog X+" input_right_btn = "h0right" input_state_slot_increase_btn = "h0right" input_l2_btn = "6" input_l2_btn_label = "L2" input_l_x_minus_axis = "-0" input_l_x_minus_axis_label = "Left Analog X-" input_r_x_plus_axis = "+2" input_l3_btn = "10" input_l3_btn_label = "L3" input_r_btn = "5" input_r_btn_label = "R1" input_save_state_btn = "5" input_l_y_minus_axis = "-1" input_l_y_minus_axis_label = "Left Analog Y-" input_y_btn = "3" input_y_btn_label = "4" input_x_btn = "0" input_x_btn_label = "1" input_menu_toggle_btn = "0" input_down_btn = "h0down" input_start_btn = "9" input_start_btn_label = "Start" input_exit_emulator_btn = "9" input_b_btn = "2" input_b_btn_label = "3" input_reset_btn = "2" input_a_btn = "1" input_a_btn_label = "2"
I had earlier done a Logitech controller whereby all the labels were present.
-
The labels are based on RetroArch's joypad configuration profiles, taken from https://github.com/libretro/retroarch-joypad-autoconfig/. If your gamepad auto-configuration matches the one present in that repo, the labels are added by the RetroPie auto-configuration script.
In your case, the file from the RetroArch's repository is this, where the D-Pad and Right joystick have different values from your generated config, hence the labels have not been applied.
-
@mitu makes sense, thanks. This controller (PS2 style) has an "analog" button that changes the function of the sticks and buttons.
With "analog" enabled, the d-pad use the
_btn
suffix and is a "hat" (at least I think that's what ID's likeh0left
mean) and both sticks are "axes."Without it enabled, the right stick acts as "buttons," and both the left stick and d-pad are the (same) (pairs of) "axes."
"Analog off" couldn't be configured in ES because the D-pad and left stick share the same designations, it said "already taken" when I tried to map the stick.
With "analog on" I get the mapping above. It looks like the autoconfig was made with "analog off" or maybe a mix of both mode, as there are both
r_x_plus_btn
andr_x_plus_axis
values. Should I just fill out the rest of the missing values (in a PR) so it has all of the mappings (and labels) for both modes, do you think? -
..
Should I just fill out the rest of the missing values (in a PR) so it has all of the mappings (and labels) for both modes, do you think?Normally yes, but I think because of the vendor/product IDs collision it wouldn't work properly - see https://github.com/libretro/retroarch-joypad-autoconfig/pull/893. You can submit the profile with the vendor/product IDs commented, so it won't clash with the existing profile.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.