Super Confused about Controls

I have been messing with Retroarch for a few weeks…and I just cannot wrap my brain around the controls here. No matter what I read, try, videos I watch I always get things all jacked up.

I have been trying to use Xpadder because I can setup some custom things that I wanted. For NES and SNES this worked out fine, I just mapped xpadder to the default keyboard buttons NES and SNES used. Now trying to do N64 and having all kinda of issues. If I try to remap the keys under “Input User Binds” then it breaks the keyboard controls for menus (How can I change in game controls without breaking in menu controls). If I click bind all in input settings, only normal buttons come up not the specialized N64 buttons. Also I do not understand the Retropad or Retrokeyboard, and the difference in bind type and user 1 device type.

I am so lost that I am at a near quitting fustration level.

Maybe someone who has been through the same troubles and come to grips with it all can help me to understand, because right now I am completely lost.

I guess summarized into hopefully more understandable terms:

What is Retropad vs Retrokeyboard? What is Bind Mode vs User 1 Device Type? What is the difference in User 1 Bind All (where you only get normal button types like a SNES controller or something) and Input User Binds which is on the previous screen How can I change default keyboard controls without breaking keyboard controls for the menu UI

I must be making this harder than it is…I feel overwhelmed and stupid lol.

(Edit: I saw some pictures of default “bindings” for controller types and I saw PS3 pad where it shows what each button is defaulted to, so my thought is the easiest way to solve my problem here is rebind via Core input remapping, using that picture to understand what each button is, and then set them how I want…if it’s that simple…boy was I confused and trying to do way to much…but still confused on all the stuff I asked about)

And I feel even more dumb when it’s pretty possible that the default “auto config” controls for all emulators is actually pretty good as is…so maybe I don’t need to config anything except some special buttons in xpadder (like for quicksaving and loading)

The ‘retropad’ is a virtual gamepad that’s used as an abstraction for button mapping. You map the virtual buttons to your physical buttons (the retropad is basically like a ps3/360 pad with the face buttons named like an SNES controller) and then you can use core input remapping to change how the core’s buttons are mapped to the virtual buttons.

yep, that’s exactly what you should do. Changing the core input remapping lets you move the core’s buttons around without messing up your menu/hotkeys.

Yes, this is exactly the idea behind the retropad abstraction :slight_smile: We wanted people to be able to load up a core and play games without spending a lot of time mapping buttons and setting things up. It seems many people try to do that anyway to their own detriment.

To directly answer your questions:

  • retropad is for gamepad mapping, retrokeyboard is for keyboard mapping
  • bind mode is for telling retroarch whether to listen for gamepad events or keyboard events; I thought this was removed in favor of automatic listening recently but it might have come back for some reason. dunno /shrug
  • input user binds just takes you to the binding screen for that user; ‘bind all’ takes you through binding your retropad buttons
  • I’m not sure I understand this question, but if you change the mapping, it’s going to change menu navigation. The menu is navigated with the retropad on purpose so you don’t need a keyboard for console/htpc situations.

[QUOTE=hunterk;33169]The ‘retropad’ is a virtual gamepad that’s used as an abstraction for button mapping. You map the virtual buttons to your physical buttons (the retropad is basically like a ps3/360 pad with the face buttons named like an SNES controller) and then you can use core input remapping to change how the core’s buttons are mapped to the virtual buttons.

yep, that’s exactly what you should do. Changing the core input remapping lets you move the core’s buttons around without messing up your menu/hotkeys.

Yes, this is exactly the idea behind the retropad abstraction :slight_smile: We wanted people to be able to load up a core and play games without spending a lot of time mapping buttons and setting things up. It seems many people try to do that anyway to their own detriment.

To directly answer your questions:

  • retropad is for gamepad mapping, retrokeyboard is for keyboard mapping
  • bind mode is for telling retroarch whether to listen for gamepad events or keyboard events; I thought this was removed in favor of automatic listening recently but it might have come back for some reason. dunno /shrug
  • input user binds just takes you to the binding screen for that user; ‘bind all’ takes you through binding your retropad buttons
  • I’m not sure I understand this question, but if you change the mapping, it’s going to change menu navigation. The menu is navigated with the retropad on purpose so you don’t need a keyboard for console/htpc situations.[/QUOTE]

That clears most things up nicely, much appreciated.

I think my main problem was that originally I had multiple pads I was trying to use (SNES pad, PS3, 360) and it would never properly save which pad to use like windows would flopthe slots on them randomly so then the controls were messed up. Once I removed all controllers except my PS3 pad, that seems to have been fixed, so now it should be viable for me to use the autoconfig.

I set them all back to default last night and I turned on autoconfig (I assume that has to be toggled on, not sure) and I Just made xpadder profile with blank keys except some special keys that runs over Retroarch. Seems to be working so far.

" I’m not sure I understand this question, but if you change the mapping, it’s going to change menu navigation. The menu is navigated with the retropad on purpose so you don’t need a keyboard for console/htpc situations.

Yeah I was confusing on this one. What I was attempting to do (from past experiences) is set keyboard controls then rebind with xpadder. But I wanted to do that without affecting the UI controls. Turns out, that’s exactly what the core rebind option is fore lol. Now I understand more :wink:

Thanks kindly =D Now I just have to make one last post about the core config files because they give me so many fits >,<