New gamepad autoconf process


Anyways to disable my FireStick remote overtaking my 8BitDo SNES bluetooth controller? If I hit any button on the FireStick remote gets set as the main remote and the 8BitDo SNES bluetooth is basically disabled. It looks like it is set to Port #0 but I am not 100% sure about that. The 8BitDo SNES bluetooth controller sometimes still gets disabled when AutoConfig is turned off. Also this seems to only be an issue in RetroArch. On top of that even when I set it to ‘All Users Can Control The menu’ the SNES still does nothing. I do not have this issue in say the main menu of the FireStick or in say NetFlix. Also when I try to manually bind the controller it ends up being disabled again like as if the FireStick/RetroArch no longer recognise it. I am so lost here.


Trying to configure my Logitech keyboard as a controller, did this guide - no success. Vid, Pid, etc… What else can I try?


Can the RetroArch Dev check out that right stick on the RetroArch. There is something wrong with that one. Is it a bug on the right stick config? Could it be just the MAME core issue? Who is the Dev on the MAME core?

Everything else is fine. Even the MAME for Windows doesn’t have that issue.


I am using an ODroid XU4 computer with Android 4.4 and a stable release of RetroArch. I’ve tried a third-party PS3 controller but it is wireless and won’t pair. It works for a few seconds but the controller won’t recognise the Android machine and shuts itself off.

I bought a third-party XBox 360 controller with a cord. The DPad works when I hit the Y button and search but the DPad won’t work correctly any other time and I don’t know what the driver situation is. I don’t think the problem is with the controller because it works in some situations and not others.


I was working on the configuration of my Joystick (Logitech F310) and I found out that Sony uses a customized Key layout file.

This should be the correct file:

but apparently Sony changed the mapping of:

axis 0x05 GAS
axis 0x02 BRAKE


axis 0x05 RTRIGGER
axis 0x02 LTRIGGER

The current config file I submitted to Github was designed to work with Sony devices:

Sony configuration
input_l2_axis = “+6”
input_r2_axis = “+7”

but it should be:

Standard Android
input_l2_axis = “+8”
input_r2_axis = “+9”

Is there a way to make Retroarch configure the correct binding for all the deivces?

Take into consideration that the joystick sends the same product_id, vendor_id and device name to both the Sony devices and the other Android devices I tested.

For example is it possible to bind the same retroarch input to 2 different device inputs (i.e. +6 and +8 mapped to input_l2_axis)?



Nope, there is no way for us to differentiate them… so no way to have it working everywhere.


Should autoconfig be working in iOS (jailed)?I can’t get the config files to save when I generate them myself and I don’t see any cocoa autoconfigs in the files downloaded from the downloaded.


It seems this may be the actual correct file for your device:

It is the same vid, but slightly different pid, and the mapping matches what you have described, with everything else being identical.

If this is the case then it should be simple to just modify the file within your android, and then performing a cold reboot of the entire system. You should find that it will recognize accordingly.

You will need complete root access to do this. but it should be quite easy.

  1. Go to /system/usr/keylayout
  2. Back up the “Vendor_046d_Product_c21d.kl” file on a USB or SD card
  3. Once backed up, open it for editing.
  4. Change the values as you see in the link I provided above.
  5. Run a task killer app, and perform a manual reboot of your system (Pull out and reinsert plug)
  6. Give it a try

This should allow your system to correctly detect the inputs from your Sony model.

The only downfall is if you attempt to use the non sony F310 you will need to revert back to the original file for it to function correctly

Also if you perform a system update it may replace the file with the original, requiring you to change it again.

Hope this helped


Thanks for the suggestion. The file you found is the wireless version of my gamepad. Now I understand the reason why Sony changed the file, i.e. to have the same key layout for both the gamepads which are both ufficially supported by the Android TV.

The point here was to write a configuration file to uplaod in the retroarch repository to allow a proper use for all the users of the joystick.

I have already two versions of the configuration file I am using for the the Sony and non-Sony devices. Moreover the gamepad has a switch that trasforms the gamepad into a Logitech Dual Action gamepad whose key layout file does not have this issue.


Yes I understand, unfortunately it’d be tricky considering the current design of autoconfig from what I am aware

The only thing I could think of is that if the Version ID’s (bcdDevice) were different from one another then this could potentially be taken into account by autoconfigs point system in efforts of choosing the correct file.

Say for instance if one of the models had a different assigned version ID than the other, then this could be used to differentiate between the two. The AutoConfig point system would be able to account for this difference if it were able to apply an additional point to the cfg with the matching version ID in order to break the tie, allowing for it to automatically select between the 2 (or more) types for the installed device.

However this idea would unfortunately be fruitless if they were all manufactured with the exact same HID information, and unfortunately there would be no easy way to make it automatic for a user

I’d say however this would have not originally been included or considered for the design of autoconfig itself considering how rare such a scenario would occur


I noticed that amongst the libretro expamples there is the code to test the buttons of the retropad:

It would be very usuful to have this code compilied and distribuited along with the other cores to allow the testing of the autoconf files.


Hi, thanks for support. I wants to make a question so if you can give me a solution. Yesterday i received mibox tv and i install retroarch from Google Play. I have a gamesir g3s connected vía bt and i have this issue. When i open retroarch i configure this Gamepad and i can control the app with It. When i load a rom, un this moment i get a message that android Gamepad is not comfigure, using fallback and i cant control the game. I close retroarch and open again but i cant play with Gamepad. I tried connecting vía usb and did not work. Have an SSD disk formatted as an internal storage and versión 1.6.8 Any idea where the problem is? Many thanks and sorry for my english Greeting


After you configure it, did you make an autoconfig profile for it? That’s what will let the configuration reload.


Hi, no… how can i do that?



Once you have your buttons configured in settings > input > p1 input binds, there’s an option in there called ‘save autoconfig’ or something like that. Hit that option and it should create a file for you. Go to the ‘default all’ option to return everything to the defaults then, and close RetroArch. Reopen RetroArch and it should say “blah blah controller configured”. If it doesn’t, default-all again and run through the steps a second time (sometimes it takes 2 times; we don’t know why).


Finally i was able to run retroarch and rom with the gamesir. I had to create the gamesir.cfg manually because autoconfig generated file without mapping buttons. I put It on autoconfig folder and ran retroarch. I think is a problem with this version on android because in my pc all works fine since first moment. Thanks for help.


Im completely new to this forum. I do not know how to post correctly and where or how. doing this reply out of frustration and desperate.

Im trying to modify the buttons in my android version of retroarch. I go to the quick menu click controls and scroll to the bottom for player 1 control button mapping. I cant modify some controls, “User 1 C Buttons Y” for example is stuck on “right analog Y”. And anytime i switch any control to “R3 Button (thumb)” i cant change it to anything else.

Is this glitch am i doing something wrong? How can i change these controls simpler ithout the hassle?

I looked at the remap , does anyone know the complete codex or the controller mapping code?

If anyone can help a severe nub then i beg your patience.


N64 mapping is messy because it’s by default using the analogs for C and we don’t support analog stick<->button remapping.


Thanks for this!!! Still having troubles with controller…


Not exactl sure where to post on this Forum, as I am new. However I have some issues with mGBA and shaders, that, for the life of me I can not even find a shred of information about. I use the shader preset gbax5 which looks great and plays well with game keyboard+ on my Note 5 device. However I have some slight graphical issues, mainly on the edges of the screen.

There is a weird pink line on the left side, and a blurry line on top. The right and bottom look correct, but the left and top have this weird blurry effect, Ive searched and searched through Retroarch settings to no avail, the UI isnt exactly genius on the apk.