Jump to content
LaunchBox Community Forums

Controllers and mappings: I'm just making it worse.


Slag-O-Matic

Recommended Posts

I'm setting up LaunchBox for a friend and we've run into a wall.

Originally I had set up LaunchBox on her PC and added a bunch of Atari 2600 games under RetroArch. This worked. Later on I bought her an 8BitDo Pro 2 wired controller. I plugged it in and gave it a go. When I launched a 2600 game LaunchBox gave me a "Controller not configured" message and (of course) the controller did nothing in the game. I went to RetroArch's input configuration and everything seemed correct; it saw the controller (under "Device Index") and everything was mapped to appropriate buttons on the controller. But it still didn't work.

I looked around and tried a few things. I updated the controller's firmware; there were no issues there but it didn't solve the problem. All of the YouTube videos I watched were done with much earlier versions of RetroArch and important-seeming menus and such were no longer where the videos said they would be. I did a fair amount of experimentation and the controller still doesn't work.

Worse, I think I "reset" the mappings that (I'm guessing) LaunchBox put into RetroArch. As I said, when I started this RetroArch saw the controller and everything was mapped to appropriate buttons on the controller. Now RetroArch still sees the controller under "Device Index" but all of the mappings now say things like "Auto: 1 (N/A, (Key: x)". I don't remember exactly what it said before but it seemed like there were specific call-outs to the controller buttons which aren't there now. I think (not sure) that when LaunchBox installs and configures RetroArch for the 2600 it includes some default controller mappings which apparently I've now wiped out and don't know how to recover from. And when RetroArch launches I get "Not saving. Overrides active" and "Configuration override loaded" in addition to "Controller not configured" so I think I f**ked up a few things.

So basically what I need is for (a) those controller mappings to come back and (b) this controller to work.

Any help would be appreciated. Thanks.

Link to comment
Share on other sites

Just a small update...

I completely deleted the 2600 and all games and media from LaunchBox, then created a new 2600 and reimported everything. The issue remains. I'm aware that RetroArch puts its settings inside a file called retroarch.cfg and I considered deleting it and having RetroArch create a new one, but I'm afraid if I do that then I'll lose settings in other emulators I've set up (Atari 5200, etc).

Someone just confirm (or not) for me: When you let LaunchBox set up an emulator in RetroArch, does LaunchBox "preconfigure" controller settings in RetroArch? If so, how does one re-apply those preconfigured settings? Going to RetroArch and telling it to reset controller settings to default is not (I believe) the same thing, right? IOW, RetroArch's default settings are not the same thing as the default settings that LaunchBox applies to RetroArch on setup, is it? Or, am I not thinking about this correctly?

Link to comment
Share on other sites

Number 1: Always start the 8bitdo controller by holding X & Start on the controller. This will start it in xinput mode and should fix your problem unless you did something funny to the input binding settings in RA. 

Number 2: Launchbox does download Retroarch for you now automatically, but are they not fundamentally linked. There's nothing you can do in launchbox that will affect the settings in Retroarch. It does not preconfigure controls for you. However,

Retroarch has a bunch of preconfigured controllers on its own, and honestly the controller should work even not in xinput mode. That said, you should try to use xinput mode always for other reasons too. So getting in the habit of starting the controller as stated above is a good thing, regardless. Try that and see if RA doesn't recognize the controller. If it doesn't,

Retroarch is a monster of emulation but the consequence of it being able to do so much is that it has tons of different configs and different layers of configs, its all very complicated. When you say you setup systems in Retroarch, do you mean that you saved settings changes in Retroarch either per config, per core, per directory or per game? Or do you just mean that you set the system up  in LB? If you don't have any specific settings saved in RA that you don't want to lose, I'd say go ahead and reinstall the emulator itself. Only because if you don't know what you're doing and you're messing with input settings its going to be even more difficult if not impossible to troubleshoot the issue. Controllers are supposed to work out of the box in RA.

Retroarch only saves certain settings in the retroarch.cfg and then only if you have set the setting to tell it to do that. haha. The rest of it's configs are in the "config" folder but honestly like I said it's all very complicated to type out. Better to start fresh.

If you take anything away from this it should be that the controller should work just fine, try starting it in xinput mode, and there's nothing you can do in Launchbox to fix it. Any fix to the settings would have to be done in Retroarch itself. You can reinstall the emulator and start fresh without touching launchbox at all, no need to delete or readd games, just make sure the new version of Retroarch is in the same directory as the old (not at the same time haha, delete or move the old one first)

Edited by fromlostdays
Link to comment
Share on other sites

Thanks for the help. You're right, it's very confusing. Am I correct in believing: A given emulation platform/engine (e.g., Atari 2600 under Stella) has its own default controller configuration. When a game is added to that platform/engine, that default controller configuration is then copied and applied to that game. If I play that game and access RetroArch's menus and change the controller configuration, it will only affect the game that I'm playing and will not change the default controller configuration for the platform/engine. So if (after changing the configuration for that game) I then add a second game, that second game will NOT have the changes I just made to the game I was previously playing, but rather make a copy of the platorm/engine's default controller configuration. The only way to affect that platorm/engine's default controller configuration is to manually launch RetroArch, go into its menus, load the appropriate core, change the controller settings, and save those settings. From that point forward any additional game I add to that platform/engine will have that revised controller configuration, and games which were installed prior to me making the change to the platform/engine default will NOT be revised.

Or more simply: I can make a change to the platform/engine and those changes only apply to newly-added games going forward. I can make a change while playing a game on that platform/engine and that change is only reflected in the game that I'm playing and won't affect anything else going forward.

Is this correct?

Link to comment
Share on other sites

5 hours ago, Slag-O-Matic said:

it will only affect the game that I'm playing and will not change the default controller configuration for the platform/engine.

You seem to have accidentally made it even more complicated than it already is haha. So, this all depends on how you save the config. You CAN save it per game. You can also save it per core, or per content directory, or per Retroarch as a whole. 

5 hours ago, Slag-O-Matic said:

Or more simply: I can make a change to the platform/engine and those changes only apply to newly-added games going forward.

No. If you save your changes per game, no other game will be affected. If you save it per core, every game that uses that core will be affected, and if you save it per Retroarch, everything (every core) will be affected. Get the words "platform/engine" out of your mind, and think of cores. A core in retroarch is basically just an emulator built in a form that retroarch can use. So if you save any kind of config, inputs or otherwise, per core, then anything that uses that core will be affected. You can't even use the word "system" because some cores emulate multiple systems, and if you save a core config for that core it will affect all the systems that core emulates. So for example the "genesis plus gx" core emulates Sega Genesis, Sega Game Gear, Sega CD etc. So if you save settings "per core" on a Sega Genesis game, those settings will transfer over to Sega Game Gear, Sega CD etc. if you use the same core for multiple systems. 

5 hours ago, Slag-O-Matic said:

I can make a change while playing a game on that platform/engine and that change is only reflected in the game that I'm playing and won't affect anything else going forward.

Yes, if you save the binding per game, only the game that's open when you do it will be affected.

 

If you are wanting individual bindings for specific games, my advice is to just edit the bindings on each game and save per game. Until you know what you're doing, you should stay away from saving anything per core and certainly saving anything to the Retroarch.cfg.  

 

Edited by fromlostdays
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...