Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Multiple remapping for different controllers on the same player (same core)



  • Hi, I would like to know if it is possible to create 2 different retroarch.cfg for different controllers. The target is to have a remap for a controller and a different one for another.

    Please read carefully my question because I perfectly know the RetroPad concept and how to remap a controller, also how to use the same mapping for different players on the same type of controller (through joypad_index parameter) but I can't find a way to have 2 different remaps for 2 different controllers.

    Is it possible? IMHO it isn't but it will great if I'm wrong ;-)


  • Global Moderator

    Can you describe better what you want to accomplish ? Have P1 with a different mapping and P2 with another, or ... ? A remap applies to the RetroPad -> Core mappings, not the actual gamepad/controller.



  • I have 2 different controllers. The first one is better for platform games while the other one for beat 'em up games.

    The problem is that is possible to do only a remapping, so on the retroarch.cfg you'll have something like this:

    input_player1_joypad_index = 0
    
    input_player1_a_btn = 1
    input_player1_b_btn = 2
    input_player1_y_btn = 3
    

    That numbers, 1, 2 and 3 are ok for first controller but aren't correct for the second one (because the controllers are different). Suppose that the correct remap for the second controller is this:

    input_player1_joypad_index = 1
    
    input_player1_a_btn = 4
    input_player1_b_btn = 5
    input_player1_y_btn = 6
    

    The problem is that you can't insert on the same file 2 different remaps, only one.

    It is possible to use a different mapping for different core, also for a single game, but it is impossible to have the same system mapped 2 times for a different controllers


  • Global Moderator

    It certainly looks possible, as long as you have both controllers connected when you define and save your remap and you remap both controllers at once.
    For instance, this is what I get by remapping 2 controllers for a NES game, while running lr-nestopia. The name of the file is $RETROARCH_CFG_FOLDER/configs/remaps/<game>.rmp and this is what 'Save Game Remap' has saved:

    input_libretro_device_p1 = "1"
    input_libretro_device_p2 = "1"
    input_libretro_device_p3 = "1"
    input_libretro_device_p4 = "1"
    input_libretro_device_p5 = "1"
    input_player1_analog_dpad_mode = "0"
    input_player1_btn_a = "0"
    input_player1_btn_b = "8"
    input_player2_analog_dpad_mode = "0"
    input_player2_btn_a = "2"
    input_player2_btn_b = "8"
    input_player2_btn_x = "8"
    input_player3_analog_dpad_mode = "0"
    input_player4_analog_dpad_mode = "0"
    input_player5_analog_dpad_mode = "0"
    

    The P1 controller is a SNES style controller, the 2nd one is a Dualshock. I guess as long as the controller order is the same, the remapping would produce what you want.



  • Your configuration is wrong (it doesn't reproduce what I would like to have). You're remapping input_player1_btn_a and input_player2_btn_a, not the same player


  • Global Moderator

    @FranceMSR The configuration was produced by RetroArch, not by me. As I said, it remaps 2 controllers/retropads at once, each one with a different re-mapping - isn't this what you asked ?



  • @mitu said in Multiple remapping for different controllers:

    @FranceMSR The configuration was produced by RetroArch, not by me. As I said, it remaps 2 controllers/retropads at once, each one with a different re-mapping - isn't this what you asked ?

    No, the target is to have a remap for a controller and a different one for another for the same player



  • Seems to me that this isn't an issue. If I have two different controllers, I plug in 1, map it, unplug it, repeat for for second controller. I plug in the controller I need for whatever game I want to play. I use my arcade stick for Street Fighter games and my x360 controller for console games. It's quite easy. If you are lookign to have them both plugged in at the same time, well you are not going to have much luck. They can't both be assigned to player 1 at the same time.



  • @Thorr69 said in Multiple remapping for different controllers:

    Seems to me that this isn't an issue. If I have two different controllers, I plug in 1, map it, unplug it, repeat for for second controller. I plug in the controller I need for whatever game I want to play. I use my arcade stick for Street Fighter games and my x360 controller for console games. It's quite easy. If you are lookign to have them both plugged in at the same time, well you are not going to have much luck. They can't both be assigned to player 1 at the same time.

    If you wrote that then you don't know how RetroPie works. When you plug in a controller you do a general remapping, it is not sufficient. Maybe you don't know that the A button of RetroPad is the C button of a real Mega Drive and the B button of Dreamcast and so on. You need to remap the RetroPad for each system.

    Please don't add entropy to the conversation if you don't know what a remapping is. I asked for a precise problem and I wrote that, as I know, it is not possible to do what I asked, I just want a confirmation.

    Technically it is very easy to allow that, I'll ask to RetroArch team to implement this feature



  • @FranceMSR
    Ah.. Bless your heart. Good luck.



  • A down vote for my post because I explained the RetroPad concept :D

    At the moment the only solution to the problem is to create 2 retroarch.cfg associated with 2 different systems (that launch the same core) present on es_systems.cfg. One starts with remapping associated to joypad 1 and the other with the second configuration associated to joypad 2


Log in to reply
 

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.