Jump to content
LaunchBox Community Forums

Can I use a controller and keyboard with Retroarch?


Johnny T

Recommended Posts

Hi all,

I've got my cabinet set up with some Atari 2600 games (via Retroarch) now and I'm enjoying playing them with the cabinet controls (buttons / joystick via an IPac).

My son-in-law has given me an old X-box 360 controller that he doesn't use anymore so I was going to have a go setting up Playstation 1 (I love Micro Machines!!) also in Retroarch, but would still like to use my cabinet controls with the Atari 2600.

Does anyone have both keys *and* controller set up?

And, if so, is it just a case of loading the core you want, setting up the input binds and saving and then they save specific to that core? Or is there more to it than that?

Thanks

Link to comment
Share on other sites

Yes you can.

There is an auto config for the XBox 360 controller and it should map that joystick to the abstract Retropad layout automatically.

Once you start the Stella core, you can change the inputs for each button. You can than save a core remap so it loads every time that core is used.

I'm assuming your iPac is in keyboard mode,  If so remember that remapping will also affect the keyboard (iPac) which is mapped to the abstract Retropad layout. There are ways around that by using a custom config with the core, but lets hope you don't need that.

  • Thanks 1
Link to comment
Share on other sites

11 hours ago, Headrush69 said:

Yes you can.

Excellent!! Thanks for that, it's great news. I'm not sure about your other points.....

11 hours ago, Headrush69 said:

There is an auto config for the XBox 360 controller and it should map that joystick to the abstract Retropad layout automatically.

Do you mean that Retroarch will automatically detect my Xbox 360 controller and just use this automatically somehow? Or by "There is an auto config for the Xbox controller"... do you mean there's a download or a batch file or something I need to run that will map the controller automatically in Retroarch?

11 hours ago, Headrush69 said:

Once you start the Stella core, you can change the inputs for each button. You can than save a core remap so it loads every time that core is used.

That's great news that I can have "per core" inputs.

11 hours ago, Headrush69 said:

I'm assuming your iPac is in keyboard mode,  If so remember that remapping will also affect the keyboard (iPac) which is mapped to the abstract Retropad layout. There are ways around that by using a custom config with the core, but lets hope you don't need that.

I'm using an iPac Ultimate - to be honest, I'm not sure what 'mode' it's in. I've not changed the mode and I use it to translate keyboard inputs so I'm assuming it's in keyboard mode but I can check this if you want? I'm not sure what you mean by "remapping will affect the keyboard"? Do you mean that pressing buttons on the controller will be (in effect) pressing keys? And, if so, how would that be a problem?

Please excuse my ignorance with my reply? I've read your answer about ten times trying to understand it but I'm just not 100% sure. Thanks for your help Headrush ?

Link to comment
Share on other sites

Sorry I was so vague, I tend to be less detailed when using the phone on forums.

Retroarch directs all input to an abstract Retropad controller which is a cross between a SNES controller layout and a Dualshock controller layout.

It has a D-Pad, two analog sticks, A, B, X, Y, left thumb, right thumb, Select and Start buttons, and left and right triggers. So any controllers you use, including your keyboard are mapped to that layout.

By default, Retroarch has set up keyboard mapping that closely matches the default keyboard settings of the iPac Ultimate. So your 5 key is mapped to the Retropad Select button, and your 1 key is mapped to the Retropad Start button, etc. These mappings are saved in your Retroarch.cfg file and will initially be used by everything in Retropad. If you don't like how it's mapped, you can go into Retroarch settings, Input, and "Set All Controls" again to remap them as you like.

Once you attach a controller, you can use the same "Set All Controls" in Retroarch to do the same thing for your XBOX 360 controller. This doesn't affect the keyboard settings. The key is to save that mapping. In the same Retroarch, Settings, Input menu, you will see a "Save Controller Profile". This will save that mapping and anytime you attach that controller it should apply it automatically. (I believe loading auto config profiles is enabled by default, but if not it's a simple ON/OFF option in Retroarch under the Settings, Input menu as well)

Now, if you look under Online updater in Retroarch, you will see an "Update Controller Profiles". This will download input device mappings that have already been done by other people for common devices. One of them is for the XBOX 360 controller. I don't remember if Retroarch includes them on first install or if you have to download them, but they will be placed in the right spot and will automatically load as if you made your own like above. You only have to do one or the other.

So at this point your input should be set for both keyboard and your controller whenever Retroarch is used.

Almost all cores will automatically be setup to use the abstract Retropad layout properly. So for example,Atari 2600 Stella core, the D-Pad is direction, B button is fire. If you don't like the mapping, in game you can go to Settings, Input and change what each button does. So if you like to use Y button on the XBOX controller for fire, you would change the B button to nothing and set the Y button. After in that menu you can save a remap, either per core, per directory, or per game. Once saved this remap will be appended to your default mapping automatically. (per Core -> always with that core, per Directory -> any rom loaded from that directory, per Game -> just that rom.)

Hope that helps. A couple things to look out for:

  1. The default Retropad layout follows the SNES layout, which is different from the XBOX 360 controller. So A & B, and X & Y are reversed by default. XBOX A -> Retropad B, XBOX B -> Retropad A. (Same for X & Y) You can change this but I would suggest leaving it as many cores documentation is set up by default for the Retropad layout which makes things easier to follow.
  2. Under Retroarch, Settings, Input you will see and "Analog to Digital type" setting. This will allow you to use the XBOX 360 analog stick in addition of a D-PAD. You DON'T have to map this, it will automatically do it when enabled. So for a core like Atari 2600 Stella, you could use the D-Pad or Analog stick as direction input. For any cores for consoles that had controllers with analog sticks, you don't want this enabled.

I have the both iPac Ultimate and XBOX 360 controllers and it has worked great. Keeping the iPac Ultimate in keyboard mode (which it is by default) really makes things easy and allows both to be used at the same time. 

Here's the link to the Retroarch documentation on inputs as well.

Edited by Headrush69
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Hi Headrush

Just wanted to post back to say I successfully got everything set up last night using the new controllers!

I ended up sending that dongle back and bought two of these instead (https://www.amazon.co.uk/gp/product/B08974J2R2/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1) as they come with the dongle and work out a LOT cheaper.

They are obviously copies of the original X-box controller but feel just as good to use. 

I just followed your instructions and both controllers set up perfectly. I had a tiny issue with device IDs but I used that "devreorder" (https://github.com/briankendall/devreorder) software you put me on to and that works an absolute treat!!

So, last night I managed to play my first Playstation game via Retroarch! My mate is coming up for the weekend (this weekend) so really looking forward to a few games of Tekken now that I'm set up.

Just wanted to post back and say a big thank you for all your help. ?

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...