RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Different Gamepad mapping problem

    Scheduled Pinned Locked Moved Help and Support
    gamepadretroarchconfig gamepadmapping
    5 Posts 2 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • darkniorD
      darknior
      last edited by

      I have a question from a long time i don't find any answer ...
      I have different gamepad at home, x360, 8bitdo, and some time a friend come with a PSX one ...

      When i have a new one i add it to ES and set it.
      After i go to Retroarch and bind my NES emulator.

      The problem is when i change gamepad the settings are different :

      input_device = "8Bitdo SFC30 GamePad"
      input_driver = "udev"
      input_l_btn = "6"
      input_load_state_btn = "6"
      input_start_btn = "11"
      input_exit_emulator_btn = "11"
      input_up_axis = "-1"
      input_a_btn = "0"
      input_b_btn = "1"
      input_reset_btn = "1"
      input_enable_hotkey_btn = "10"
      input_down_axis = "+1"
      input_r_btn = "7"
      input_save_state_btn = "7"
      input_right_axis = "+0"
      input_state_slot_increase_axis = "+0"
      input_x_btn = "3"
      input_menu_toggle_btn = "3"
      input_select_btn = "10"
      input_y_btn = "4"
      input_left_axis = "-0"
      input_state_slot_decrease_axis = "-0"
      
      input_device = "Xbox 360 Wireless Receiver"
      input_driver = "udev"
      input_r_y_plus_axis = "+3"
      input_l3_btn = "11"
      input_r_x_minus_axis = "-2"
      input_l_btn = "4"
      input_load_state_btn = "4"
      input_start_btn = "9"
      input_exit_emulator_btn = "9"
      input_l_y_minus_axis = "-1"
      input_up_btn = "15"
      input_r_y_minus_axis = "-3"
      input_a_btn = "0"
      input_b_btn = "1"
      input_reset_btn = "1"
      input_enable_hotkey_btn = "8"
      input_down_btn = "16"
      input_l_x_plus_axis = "+0"
      input_l_y_plus_axis = "+1"
      input_r_btn = "5"
      input_save_state_btn = "5"
      input_r2_btn = "7"
      input_r3_btn = "12"
      input_right_btn = "14"
      input_state_slot_increase_btn = "14"
      input_x_btn = "2"
      input_menu_toggle_btn = "2"
      input_select_btn = "8"
      input_l_x_minus_axis = "-0"
      input_y_btn = "3"
      input_left_btn = "13"
      input_state_slot_decrease_btn = "13"
      input_r_x_plus_axis = "+2"
      input_l2_btn = "6"
      

      By chance A and B are same, i can play the game.

      input_a_btn = "0"
      input_b_btn = "1"
      

      But the HOTKEY is different ... i can't quit RETROARCH :(

      input_enable_hotkey_btn = "10"
      input_enable_hotkey_btn = "8"
      

      Is it possible to have the same KEY INDEX with each gamepad ?

      Life is game, just play it !

      Used2BeRXU 1 Reply Last reply Reply Quote 0
      • Used2BeRXU
        Used2BeRX @darknior
        last edited by

        @darknior Hey man. I don't have my Pi hooked up right now and I couldn't find my notes on it, but there is a location on the Pi where controller configurations based off of the EmulationStation mappings are created and stored when you put a new controller on your Pi.

        If you notice when you start a game in most emulators, a yellow notification comes up that says the name of the joystick you're using. This is the name of that file that is saved.

        If you can find it, you can go in and manually edit those files to the values that you want.

        I have NEVER been able to figure out how to do anything in RetroArch, so I've had to manually do everything. There are WAY too many safeguards in place on the RetroPie build and I haven't been able to get anybody to explain to me how to shut any of them off so you don't have to manually change things like bindings.

        Hopefully somebody here can tell you where those controller configurations are saved. If not, I'm sure in a day or two I can get that info for you.

        darkniorD 1 Reply Last reply Reply Quote 0
        • darkniorD
          darknior @Used2BeRX
          last edited by

          @used2berx said in Different Gamepad mapping problem:

          If you notice when you start a game in most emulators, a yellow notification comes up that says the name of the joystick you're using. This is the name of that file that is saved.

          Yes i already understand this, but before, i don't understand how to use it.

          If you can find it, you can go in and manually edit those files to the values that you want.

          Yes they are in : /opt/retropie/configs/all/retroarch/autoconfig

          And each file, connect one Joystick key to one Retroarch action.
          The action will be always the same in Retroarch, even if the key changes according to the joystick.

          I have completed my 3 config files :

          # 8Bitdo SFC30 GamePad settings
          
          input_device = "8Bitdo SFC30 GamePad"
          input_driver = "udev"
          
          # Buttons for RetroArch Pad. 
          input_start_btn = "11"
          input_select_btn = "10"
          
          input_up_axis = "-1"
          input_down_axis = "+1"
          input_left_axis = "-0"
          input_right_axis = "+0"
          
          input_a_btn = "0"
          input_b_btn = "1"
          input_x_btn = "3"
          input_y_btn = "4"
          input_l_btn = "6"
          input_r_btn = "7"
          
          # Hotkeys- Hotkeys enable you to press a combination of buttons to do such things as exit emulators, save states,
          # and load states, as well as any other functionality in an emulator. (In the example below 8 is the select key
          # and 9 is the start key so when I hold down select and press start it will exit the emulator.)
          # HOTKEY
          input_enable_hotkey_btn = "10"
          # INPORTANT
          input_exit_emulator_btn = "11"
          input_reset_btn = "3"
          input_menu_toggle_btn = "4"
          # USED
          input_hold_fast_forward_btn = "6"
          input_load_state_btn = "0"
          input_save_state_btn = "1"
          input_rewind_btn = "7"
          # UNUSED
          input_pause_toggle_btn = "nul"
          input_osk_toggle_btn = "nul"
          input_disk_eject_toggle_btn = "nul"
          input_disk_next_btn = "nul"
          input_disk_prev_btn = "nul"
          
          input_toggle_fast_forward_btn = "nul"
          input_toggle_fullscreen_btn = "nul"
          input_state_slot_increase_btn = "nul"
          input_state_slot_decrease_btn = "nul"
          input_movie_record_toggle_btn = "nul"
          input_frame_advance_btn = "nul"
          input_shader_next_btn = "nul"
          input_shader_prev_btn = "nul"
          input_cheat_index_plus_btn = "nul"
          input_cheat_index_minus_btn = "nul"
          input_cheat_toggle_btn = "nul"
          input_screenshot_btn = "nul"
          input_audio_mute_btn = "nul"
          input_netplay_flip_players_1_2_btn = "nul"
          input_netplay_game_watch_btn = "nul"
          input_slowmotion_btn = "nul"
          input_volume_up_btn = "nul"
          input_volume_down_btn = "nul"
          input_overlay_next_btn = "nul"
          input_grab_mouse_toggle_btn = "nul"
          input_game_focus_toggle_btn = "nul"
          
          # Xbox 360 Wireless Receiver settings
          
          input_device = "Xbox 360 Wireless Receiver"
          input_driver = "udev"
          
          # Buttons for RetroArch Pad. 
          input_start_btn = "9"
          input_select_btn = "8"
          
          input_up_btn = "15"
          input_down_btn = "16"
          input_left_btn = "13"
          input_right_btn = "14"
          
          input_a_btn = "0"
          input_b_btn = "1"
          input_x_btn = "2"
          input_y_btn = "3"
          input_l_btn = "4"
          input_l2_btn = "6"
          input_l3_btn = "11"
          input_r_btn = "5"
          input_r2_btn = "7"
          input_r3_btn = "12"
          
          # Axis for RetroArch D-Pad. 
          # Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number. 
          input_r_x_plus_axis = "+2"
          input_r_x_minus_axis = "-2"
          input_r_y_plus_axis = "+3"
          input_r_y_minus_axis = "-3"
          input_l_x_plus_axis = "+0"
          input_l_x_minus_axis = "-0"
          input_l_y_plus_axis = "+1"
          input_l_y_minus_axis = "-1"
          
          # Hotkeys- Hotkeys enable you to press a combination of buttons to do such things as exit emulators, save states,
          # and load states, as well as any other functionality in an emulator. (In the example below 8 is the select key
          # and 9 is the start key so when I hold down select and press start it will exit the emulator.)
          # HOTKEY
          input_enable_hotkey_btn = "8"
          # INPORTANT
          input_exit_emulator_btn = "9"
          input_reset_btn = "16"
          input_menu_toggle_btn = "2"
          # USED
          input_hold_fast_forward_btn = "5"
          input_load_state_btn = "1"
          input_save_state_btn = "0"
          input_rewind_btn = "4"
          input_pause_toggle_btn = "3"
          input_osk_toggle_btn = "12"
          input_disk_eject_toggle_btn = "15"
          input_disk_next_btn = "14"
          input_disk_prev_btn = "13"
          # UNUSED
          input_toggle_fast_forward_btn = "nul"
          input_toggle_fullscreen_btn = "nul"
          input_state_slot_increase_btn = "nul"
          input_state_slot_decrease_btn = "nul"
          input_movie_record_toggle_btn = "nul"
          input_frame_advance_btn = "nul"
          input_shader_next_btn = "nul"
          input_shader_prev_btn = "nul"
          input_cheat_index_plus_btn = "nul"
          input_cheat_index_minus_btn = "nul"
          input_cheat_toggle_btn = "nul"
          input_screenshot_btn = "nul"
          input_audio_mute_btn = "nul"
          input_netplay_flip_players_1_2_btn = "nul"
          input_netplay_game_watch_btn = "nul"
          input_slowmotion_btn = "nul"
          input_volume_up_btn = "nul"
          input_volume_down_btn = "nul"
          input_overlay_next_btn = "nul"
          input_grab_mouse_toggle_btn = "nul"
          input_game_focus_toggle_btn = "nul"
          
          # PLAYSTATION(R)3 Controller settings
          
          input_device = "PLAYSTATION(R)3 Controller"
          input_driver = "udev"
          
          # Buttons for RetroArch Pad. 
          input_start_btn = "3"
          input_select_btn = "0"
          
          input_up_btn = "4"
          input_down_btn = "6"
          input_left_btn = "7"
          input_right_btn = "5"
          
          input_a_btn = "13"
          input_b_btn = "14"
          input_x_btn = "12"
          input_y_btn = "15"
          input_l_btn = "10"
          input_l2_btn = "8"
          input_l3_btn = "1"
          input_r_btn = "11"
          input_r2_btn = "9"
          input_r3_btn = "2"
          
          # Axis for RetroArch D-Pad. 
          # Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number. 
          input_r_x_plus_axis = "+2"
          input_r_x_minus_axis = "-2"
          input_r_y_plus_axis = "+3"
          input_r_y_minus_axis = "-3"
          input_l_x_plus_axis = "+0"
          input_l_x_minus_axis = "-0"
          input_l_y_plus_axis = "+1"
          input_l_y_minus_axis = "-1"
          
          # Hotkeys- Hotkeys enable you to press a combination of buttons to do such things as exit emulators, save states,
          # and load states, as well as any other functionality in an emulator. (In the example below 8 is the select key
          # and 9 is the start key so when I hold down select and press start it will exit the emulator.)
          # HOTKEY
          input_enable_hotkey_btn = "0"
          # INPORTANT
          input_exit_emulator_btn = "3"
          input_reset_btn = "6"
          input_menu_toggle_btn = "15"
          # USED
          input_hold_fast_forward_btn = "10"
          input_load_state_btn = "13"
          input_save_state_btn = "14"
          input_rewind_btn = "4"
          input_pause_toggle_btn = "12"
          input_osk_toggle_btn = "2"
          input_disk_eject_toggle_btn = "4"
          input_disk_next_btn = "5"
          input_disk_prev_btn = "7"
          # UNUSED
          input_toggle_fast_forward_btn = "nul"
          input_toggle_fullscreen_btn = "nul"
          input_state_slot_increase_btn = "nul"
          input_state_slot_decrease_btn = "nul"
          input_movie_record_toggle_btn = "nul"
          input_frame_advance_btn = "nul"
          input_shader_next_btn = "nul"
          input_shader_prev_btn = "nul"
          input_cheat_index_plus_btn = "nul"
          input_cheat_index_minus_btn = "nul"
          input_cheat_toggle_btn = "nul"
          input_screenshot_btn = "nul"
          input_audio_mute_btn = "nul"
          input_netplay_flip_players_1_2_btn = "nul"
          input_netplay_game_watch_btn = "nul"
          input_slowmotion_btn = "nul"
          input_volume_up_btn = "nul"
          input_volume_down_btn = "nul"
          input_overlay_next_btn = "nul"
          input_grab_mouse_toggle_btn = "nul"
          input_game_focus_toggle_btn = "nul"
          

          Now if some one have other UDEV files ... i want them :p
          For other Joystick like xBox One ? I don't have the list of compatible RETROPIE Joysticks ...

          Life is game, just play it !

          Used2BeRXU 1 Reply Last reply Reply Quote 0
          • Used2BeRXU
            Used2BeRX @darknior
            last edited by

            @darknior So..... Did you make it do what you wanted it to?

            I don't know how to make any settings stick in Retroarch because it never saves the settings after you leave a game, but I was able to change the controller configuration by manually editing the files.

            I'm sure there's a way to make the settings save after leaving the game, but I've asked here about it twice and nobody gave me an answer.

            1 Reply Last reply Reply Quote 0
            • darkniorD
              darknior
              last edited by

              I make them myself by hand, i have what i want now.
              Now i only search to complete my UDEV file collection to make my RVGM compatible with most of the Joystick.
              A friend will give me his file for NES30 Pro.

              Life is game, just play it !

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              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.