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

    Setting controller priority?

    Scheduled Pinned Locked Moved Help and Support
    8bitdosfc30retroarchretropie
    12 Posts 4 Posters 5.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.
    • denisuuD
      denisuu
      last edited by denisuu

      Hi,

      I bought 2 8bitdo SFC30 controller's and I'm super happy with them, they are really the real deal!

      But since I've added 2 wired SNES controllers through the gamecon_gpio_rpi driver, my SFC30 isn't working in games anymore. Even if the SNES pads are disconnected.

      at the runcommand splashscreen it shows:

      8Bitdo SFC30 GamePad configured in port #0.
      SNES pad configured in port port #1
      SNES pad configured in port port #2

      When I go into retroarch with a keyboard I get this:
      alt text

      How do I make sure the 8Bitdo controller always has priority over all other controllers? I can't seem to figure it out and
      even uninstalling the driver doesn't seem to solve the problem.

      Thanks in advance!

      hardware: PI3
      RetroPie 4.1
      Built From: Premade SD Image
      Controller used: SNESpad, 8Bitdo SFC30
      How to replicate the problem: Install Gamecon USB drivers.

      meleuM 1 Reply Last reply Reply Quote 0
      • meleuM
        meleu @denisuu
        last edited by

        @denisuu
        I'm pasting what is written at the top of every page of this forum:

        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

        • Useful topics
        • joystick-selection tool
        • rpie-art tool
        • achievements I made
        1 Reply Last reply Reply Quote 0
        • FlyingTomahawkF
          FlyingTomahawk
          last edited by FlyingTomahawk

          Can you change the User 1 to 8-bitdo and User 2 and User 3 to SNES joypad and then click on "save core remap file"?

          meleuM 1 Reply Last reply Reply Quote 0
          • meleuM
            meleu @FlyingTomahawk
            last edited by

            @FlyingTomahawk that screen (Quick Menu >> Controls) isn't for this purpose. What you're suggesting should be done in Settings >> Input >> Input User N Binds >> User N Device Index. But it can't be saved like the "core remap file".

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            1 Reply Last reply Reply Quote 2
            • denisuuD
              denisuu
              last edited by

              Ok so I tried this: https://github.com/meleu/RetroPie-joystick-selection

              I can see that it's made by you meleu, nice work!

              1 8Bitdo SFC30 GamePad
              2 ** UNSET **
              3 SNES Pad #1
              4 SNES Pad #2

              When I put the configuration like below, at least I can use select + start (leave game) or select x (retroarch settings).
              In retroarch settings under "Settings > input > Input User 1 Binds > Device index it already says 8Bitdo SFC30 Gamepad". If I choose "Bind All" then I can input the buttons and save them. Then it works for that system. Do I have to do this manually for all systems?

              meleuM 1 Reply Last reply Reply Quote 0
              • denisuuD
                denisuu
                last edited by denisuu

                Most of the time I screw up so badly with getting the controllers to work I just do a fresh install. :p So this time I backup-ed my opt/retropie folder LINK

                The last part in the retroarch.cfg is:

                input_enable_hotkey = "ctrl"
                auto_remaps_enable = "true"
                menu_unified_controls = "true"
                input_player2_a_btn = 0
                input_player2_b_btn = 1
                input_player2_x_btn = 2
                input_player2_y_btn = 3
                input_player2_l_btn = 4
                input_player2_r_btn = 5
                input_player2_start_btn = 7
                input_player2_select_btn = 6
                input_player2_left_axis = -0
                input_player2_up_axis = -1
                input_player2_right_axis = +0
                input_player2_down_axis = +1

                I'll try changing all of them in input_player1

                edmaul69E 2 Replies Last reply Reply Quote 0
                • edmaul69E
                  edmaul69 @denisuu
                  last edited by edmaul69

                  @denisuu which retroarch.cfg file are you getting those from? you shouldnt have controls for any player set up. the autoconfig would work right if you didnt have all those player settings

                  1 Reply Last reply Reply Quote 0
                  • edmaul69E
                    edmaul69 @denisuu
                    last edited by edmaul69

                    @denisuu read my last post. also open up /opt/retropie/configs/all/retroarch/autoconfig/8BitdoFC30Pro.cfg and make sure the buttons match this:

                    input_device = "8Bitdo FC30 Pro"
                    input_driver = "udev"
                    input_r_y_plus_axis = "+3"
                    input_l3_btn = "13"
                    input_r_x_minus_axis = "-2"
                    input_l2_btn = "8"
                    input_start_btn = "11"
                    input_exit_emulator_btn = "11"
                    input_l_y_minus_axis = "-1"
                    input_up_btn = "h0up"
                    input_r_y_minus_axis = "-3"
                    input_a_btn = "0"
                    input_b_btn = "1"
                    input_reset_btn = "1"
                    input_down_btn = "h0down"
                    input_r2_btn = "9"
                    input_l_x_plus_axis = "+0"
                    input_l_y_plus_axis = "+1"
                    input_r3_btn = "14"
                    input_right_btn = "h0right"
                    input_state_slot_increase_btn = "h0right"
                    input_x_btn = "3"
                    input_menu_toggle_btn = "3"
                    input_select_btn = "10"
                    input_enable_hotkey_btn = "10"
                    input_l_x_minus_axis = "-0"
                    input_y_btn = "4"
                    input_left_btn = "h0left"
                    input_state_slot_decrease_btn = "h0left"
                    input_r_x_plus_axis = "+2"
                    
                    denisuuD 1 Reply Last reply Reply Quote 0
                    • denisuuD
                      denisuu @edmaul69
                      last edited by denisuu

                      @edmaul69

                      I have a SFC30 not a SF30 pro but I checked that already. this is the output. Here you can browse an exact copy of my filesystem: LINK

                      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 = "0"
                      input_reset_btn = "1"
                      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_enable_hotkey_btn = "10"
                      input_y_btn = "4"
                      input_left_axis = "-0"
                      input_state_slot_decrease_axis = "-0"

                      Edit: The content of the file in my post above came from \opt\retropie\configs\all

                      edmaul69E 1 Reply Last reply Reply Quote 0
                      • meleuM
                        meleu @denisuu
                        last edited by

                        @denisuu said in Setting controller priority?:

                        If I choose "Bind All" then I can input the buttons and save them. Then it works for that system. Do I have to do this manually for all systems?

                        AFAIK if you configure your joystick with Bind All and then choose User 1 Save Autoconfig the configurations will be saved in /opt/retropie/configs/all/retroarch-joypads/YOUR_JOYSTICK_NAME.cfg. And these configs will be available for every retroarch core (if you didn't messed up your retroarch.cfg files, of course).

                        • Useful topics
                        • joystick-selection tool
                        • rpie-art tool
                        • achievements I made
                        1 Reply Last reply Reply Quote 0
                        • edmaul69E
                          edmaul69 @denisuu
                          last edited by edmaul69

                          @denisuu and i have a different pinout than you on that. do not copy and paste this. i edited it to get rid of savestate and loadstate and reset. and added eject and disk prev and disk next so i can play famicom disk system games. when you manually enter them in in retroarch gui do the button numbers match mine or yours?

                          input_device = "8Bitdo FC30 GamePad"
                          input_driver = "udev"
                          input_b_btn = "12"
                          input_y_btn = "15"
                          input_select_btn = "21"
                          input_start_btn = "22"
                          input_a_btn = "11"
                          input_x_btn = "14"
                          input_l_btn = "17"
                          input_r_btn = "18"
                          input_up_axis = "-1"
                          input_down_axis = "+1"
                          input_right_axis = "+0"
                          input_left_axis = "-0"
                          input_enable_hotkey_btn = "21"
                          input_exit_emulator_btn = "22"
                          
                          input_disk_eject_toggle_btn = "14"
                          input_disk_next_btn = "18"
                          input_disk_prev_btn = "17"
                          
                          input_reset_btn = "nul"
                          input_menu_toggle_btn = "12"
                          denisuuD 1 Reply Last reply Reply Quote 0
                          • denisuuD
                            denisuu @edmaul69
                            last edited by denisuu

                            • I removed the whole opt/ folder from root and replaced it with one from a fresh install and changed the permissions.
                            • Then removed the gamecon USB driver for the 2 SNESpads and removed SFC30 from bluetooth.
                            • Paired it and set it up in Emulation Station.

                            Now the SFC30 is working like it should again, I'm pretty sure as soon as I'm going to install the gamecon USB driver again the SFC30 is going to stop working. Any Idea on how to prevent this?

                            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.