OLD Gamepad Autoconfig Thread

So it looks like my idea of copying an existing autoconfig file and rename it did the job… somehow. I took GameMID.cfg from the autoconfig/android directory, changed its name and input_device to match the two controllers accordingly. Now it looks like this:

input_device = "PG-9052" #("SPEEDLINK MYON" for the 2nd one)
input_driver = "android"
input_b_btn = "96"
input_y_btn = "99"
input_select_btn = "109"
input_start_btn = "108"
input_up_btn = "19"
input_down_btn = "20"
input_left_btn = "21"
input_right_btn = "22"
input_a_btn = "97"
input_x_btn = "100"
input_l_btn = "102"
input_r_btn = "103"
input_l2_btn = "104"
input_r2_btn = "105"
input_l3_btn = "106"
input_r3_btn = "107"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"

ABXY, trigger/shoulder buttons and select & start all work fine (and so probably do L3/R3), but D-pad and analog sticks aren’t detected at all. Though the values for D-pad seem to be correct following KeyTest. As previously stated, the app also registers left stick movements as the 4 D-pad values (19 to 22) and doesn’t see anything for right stick. I tried replacing h0’s for D-pad but didn’t help either. How can I find the correct values? Do the “labels” part have any relevance for this or, as I suspect, it doesn’t matter?

I wanna point out that Mupen64 and all .emu emulators correctly detect all buttons and sticks, but reicast r6 has a similar issue with analog stick overlapping with D-pad. GameKeyboard+ essentially shows the same behaviour as KeyTest (left stick seen as D-pad, right stick not seen).

I’d like to point out that D-Pad and sticks all work correctly in emulators like Mupen64 and .emu ones. When I go into Mupen64 settings, keys are not identified with numbers but with their keycodes, like KEYCODE_BUTTON_A (for A button), AXIS_HAT_X: -1,00 (for D-Pad left), AXIS_X: +1,00 (L-stick right) and AXIS_RZ: +1,00 (R-stick down). So I assume those emulators are using some different values than the one seen by Retroarch? Is there a way to have Retroarch detect these values instead of those numbers?

Ok, now I managed to map the keys using the Bind All option into the RGUI. The problem is, when I save the config, exit and reload Retroarch everything is wiped out and I have to restart everything again. I noticed that the custom config is saved in files such as “…libretro_android.cfg” (I can’t read the first part since description text goes over it), but the RGUi loads every time retroarch.cfg instead. Though I’m sure it saves my config file since each time I try doing the same thing all over again it saves a new cfg with the number increased, e.g. “…libretro_android-1.cfg”. Where the hell are located retroarch.cfg and my saved configs now? I can’t find them in data/data/com.retroarch/ and in the directories inside. It seems to save it into “storage/sdca…” (doesn’t show anything further).

So after 4 hours of tweaking I FINALLY managed to have it work. I had to go into Bind All and then manually edit some values in the file (since for some mysterious reasons it has problems correctly detecting L2/R2 triggers in the RGUI). I couldn’t create an autoconfig file though; if I copy the values from my .cfg file and rename it to match my pad it says “PG-9025 detected”, but it doesn’t do anything at all. However, if I delete the PG-9052.cfg file in autoconfig/android and load my own cfg file it works perfectly…

Harlekin,

I want to thank you for your diligent work in getting the amazon fire game controller working. I took the nightly, added your game controller config file and replaced the retroarch.cfg file, re-zipped the file then signed it renamed it .apk and it works great!

Thanks so much!

@Aristillus It sounds like your config is conflicting with the existing PG-9052 config. Adding the vid/pid to your config should correct this, I think, since those values should be unique.

Latest version doesn’t recognize my SFC30 8bitdo gamepad ?

Can anyone update the apk installer since my gs5 is not rooted and I can’t copy files into this folder…

You can set the path anywhere else in the writtable folder and update the files yourself.

OK

Thanks!

Hi! in the last nighly build there is a malfunction with the saves and states folders per core, for example, if I load a core and make the config and next, load another core, the saves and states folders for the new core it makes inside the saves and states folders for previous core, like this \save es … \save es\picodrive, this doesn’t happend with per core config off.

Hi!

I tried RetroArch 1.2 on a Mad Catz M.O.J.O using a Mad Catz C.T.R.L.R which is supported by the gamepad autoconfig feature. Wenn starting the XMB GUI the controller is recognized so far. Unfortunately when I start a game the “Media Play/Pause” button doesn’t toggle the menu even if the Mad_Catz_C.T.R.L.R_(Smart).cfg contains the line

input_menu_toggle_btn = “85”

Is there anything I missed or does anyone have an idea what went wrong?

The menu button toggling issue seems to be a bug in RA 1.2 related to a commit made shortly before it was released. I first reported it in the nightly thread but several others have reported it here since.

Okay, thank you. Then I’m going to test the current and upcoming nightly builds.

The OUYA Controller doesnt work in the new RGUI. Can this be fixed or will you guys release a specific OUYA version on the Ouya Store?

I think there’s going to be a little bit of work done for Ouya, though I don’t know if it will make it to the official store.

So, are you able to use manual binds via settings > input settings? I guess I should also ask if you’re able to navigate at all…?

i can navigate on the Android Gui that boots up when you start Retroarch. but there is no option to use manual binds via Settings > input settings.

Here’s my autoconfig for HORI’s Fighting Commander 4. I’ve tested it and everything seems to work (except the menu toggle. I can’t test it since it seems to be broken in RetroArch at the moment).

HORI_CO.,LTD._Fighting_Commander_4.cfg (for L1-L3/L2-R3)

HORI_CO.,LTD._Fighting_Commander_4alt.cfg (for R1-L1/R2-L2)

Edit: I have absolutely no idea what to do with the extra two buttons. Should I leave them blank or does RetroArch have input variables for those as well?

Hi!

I noticed a wrong key code assignment for the start button in the auto-configuration file Mad_Catz_Micro_C.T.R.L.R.cfg:

input_start_btn = “82”

The Mad Catz Micro C.T.R.L.R doesn’t have a menu button, but a start button like the Mad Catz C.T.R.L.R (Smart). So the correct setting is:

input_start_btn = “108”

I am trying to contribute. I have some of the keycodes already. I have an NVidia Shield Portable and Mojo Retro Adapter and Mojo Retro Adapter Mod.

Questions:

  • How do I see the input_device string on a device without having root? Key Test is not reporting it.
  • If above is not possible, I know exactly the usb device name and usb vendor name strings, as well as vid and pid. So is input_device equal to usb device name, or is it a concatenation of vendor name + ’ ’ + device name?
  • Key test is not reporting the right analog stick analog axes. This is also true for built-in Nvidia Shield Portable controller, regardless whether I select “use right analog stick as virtual mouse” in settings or not. The right analog stick does not trigger any output on Key Test. How do I find out all the analog axes mapping?
  • Key test reports the left analog stick as a digital button press “KEYCODE_DPAD_LEFT” etc. How do I find out the analog axis?
  • Do I report Keycode or Scancode?
  • I know the digital DPAD is reported as hat directions, but Key Test is not reporting it. Shall I put in “h0up” etc.?
  • Is there any place I can save a controller config after rebinding all keys from inside retroarch rgui, and then read it in plain text WITHOUT having root access on my device? I think if I could do that, it would help with almost all my troubles.

Thanks for help and for a great emulator.

You don’t need keytest anymore, you can save the maps from within the GUI. Here is the recommended workflow

  • Load RetroArch
  • Change your autoconf directory to some folder you can read/write, most likely some place in the internal SD card
  • Go to input settings and RESET the binds for the port you are configuring
  • Bind All
  • Binding is sometimes too sensitive, so go to user # bindings and correct whatever is missing
  • Select save autoconf
  • Clean binds again and restart to verify

That’s what I did with the 8bitdo controllers (and I implemented saving) VID/PID saving are not implemented in the android input driver yet but I’l try to add that in the future