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

    8Bitdo NES30 Pro Bluetooth controllers not registering right analog left and right positions properly

    Scheduled Pinned Locked Moved Help and Support
    bluetoothcontroller8bitdo nes30 pranalogright
    64 Posts 10 Posters 10.9k 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.
    • mituM
      mitu Global Moderator @GeekOB
      last edited by

      @GeekOB Thanks for opening a new topic. Can you try to see if the Left/Right joystick movements are registered by RetroPie ? Exit Emulationstation (leave just one Joystick connected), then type on the command line

      jstest /dev/input/js0
      

      It should print a map of your gamepad (buttons/joysticks) and you can press buttons/toggle joysticks to see if the action is registered.

      These controllers have multiple 'connect' modes (Android/PC/Switch, etc.) - did you choose a specific 'mode' to connect ?

      GeekOBG 1 Reply Last reply Reply Quote 0
      • GeekOBG
        GeekOB @mitu
        last edited by GeekOB

        @mitu Thanks for the quick reply:
        I obtained same results for both controllers:

        Axes:
        0: action registered (left stick, x axis)
        1: action registered (left stick, y axis)
        2: action registered (right stick, x axis)
        3: action registered (right stick, y axis)
        4: stuck at -32767, action registered and changed to 32767 when R2 button, identified as button 9 below, is pressed
        5: stuck at -32767, action registered and changed to 32767 when L2 button, identified as button 8 below, is pressed
        6: action registered (D-Pad)
        7: action registered (D-Pad)

        Buttons:
        0: action registered (A)
        1: action registered (B)
        2: action registered (on/off button)
        3: action registered (X)
        4: action registered (Y)
        5: none
        6: action registered (L1)
        7: action registered (R1)
        8: action registered (L2)
        9: action registered (R2)
        10: action registered (Select)
        11: action registered (Start)
        12: none
        13: action registered (Left Analog stick thumb push)
        14: action registered (Right Analog stick thumb push)
        15: none

        I didn't have to select any mode to connect.
        There were no buttons pressed for the tagged as none. So I guess the controllers are fully working :)

        mituM 1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @GeekOB
          last edited by

          @GeekOB Seems that L2/R2 are registered as axis and not buttons ? That sounds like an Xbox compatible adapter. I'd try one of the following

          • install the xpad driver and see if you get anything different.
          • start the controller in Switch mode (Start + Y) and re-pair it via BT, then configure it in ES.
          GeekOBG 1 Reply Last reply Reply Quote 0
          • GeekOBG
            GeekOB @mitu
            last edited by

            @mitu It is possible that they're being detected as "triggers"?
            would your suggestions work to fix the right analog stick issue? I'm actually interested in that, not the L2/R2 buttons :)
            Thanks!

            mituM 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @GeekOB
              last edited by

              @GeekOB Try the Switch mode for the connection.

              GeekOBG 1 Reply Last reply Reply Quote 0
              • GeekOBG
                GeekOB @mitu
                last edited by

                @mitu Thanks for your guidance, I now realize what you meant by the modes. I had been using the Android mode since the beginning (press and hold the Power button). The Switch mode works perfectly fine, I was able to configure and map all buttons and axes, the controllers are now detected as "Pro Controller" instead of "8Bitdo NES30 Pro"
                My question is, Android mode used to work before, is it possible to make it work again? It's definitely better to not press a combination of keys every single time you want to turn on a controller.
                Thank you once again!

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @GeekOB
                  last edited by

                  @GeekOB I think that depends on the firmware - the button mapping. AFAIK once you start the controller with one 'mode', subsequent starts will start in the same 'mode' as it was paired - so you don't have to start it with 'Start + Y' every time - give it a try.

                  1 Reply Last reply Reply Quote 0
                  • ExarKunIvE
                    ExarKunIv
                    last edited by

                    I have the same problem at the OP, and switching the mode did fix it, but you have to start the controller each time in that mode.

                    so to get it in pro controller mode you have to hold the power and y each time. just pushing the power will just power on the controller on android mode.

                    i have both a FC30 PRO and a NES30 PRO and i have to do it to both. and i have firmware 4.10 on both

                    stinks that something changed where android mode does not work now :(

                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                    Maintainer of RetroPie-Extra .

                    1 Reply Last reply Reply Quote 0
                    • G
                      G30FF
                      last edited by

                      I just wanted to chime in that I had the same problem with my N30 Pro 2 controller not registering the right analog stick pressing left in bluetooth mode, and that uninstalling and reinstalling the xpad driver fixed it. This was running it in D-Input mode.

                      ExarKunIvE 1 Reply Last reply Reply Quote 0
                      • ExarKunIvE
                        ExarKunIv @G30FF
                        last edited by

                        @G30FF is your controller in android mode. i have tryed the reinstall xpad install and it did nothing. the only way i got my right stick to be seen was to have the controller boot into switch mode

                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                        Maintainer of RetroPie-Extra .

                        G 1 Reply Last reply Reply Quote 0
                        • RionR
                          Rion
                          last edited by

                          @GeekOB Have you tried older versions of the firmware for the NES30 Pro?

                          Here you can find all the releases for every 8bitdo controller that's been made from the official website. Not easy to find but it's there.

                          FBNeo rom filtering
                          Mame2003 Arcade Bezels
                          Fba Arcade Bezels
                          Fba NeoGeo Bezels

                          1 Reply Last reply Reply Quote 0
                          • ExarKunIvE
                            ExarKunIv
                            last edited by

                            well after testing i cant my N30 Pro or FC30 pro to work once i update my Pi to version 4.4.9 and yes i have also gone up to version 4.4.11

                            i have downloaded all the firmwares from what @Rion posted and nothing seems to work, and yes i have uninstalled and reinstalled xpad drivers

                            so far nothing seems to work.

                            posted issue on github

                            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                            Maintainer of RetroPie-Extra .

                            mituM 1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @ExarKunIv
                              last edited by mitu

                              @ExarKunIv Can you try updating your Emulationstation package ? There was a recent update for the SDL libraries and since Emulationstation is technically at fault here, it might help to test with the new updated SDL2.

                              EDIT: just to confirm, is your controller started in Dinput mode - otherwise I don't think the xpad driver would have any effect ?

                              ExarKunIvE 1 Reply Last reply Reply Quote 0
                              • ExarKunIvE
                                ExarKunIv @mitu
                                last edited by

                                @mitu I did update the Emulationstation package. No luck.

                                I'm not sure I get what mode you are talking about. As far as I know it is just a default one. The one that is just with the power button. I'm not pressing any other buttons when I'm powering on the controller

                                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                Maintainer of RetroPie-Extra .

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @ExarKunIv
                                  last edited by mitu

                                  @ExarKunIv OK, then let's debug this further.

                                  Exit Emulationstation, then from the terminal run

                                  emulationstation --debug
                                  

                                  Emulationstation should start in debug mode, and more messages are logged in it's log file. Run the input configuration again and map the buttons, then exit emulationstation.

                                  Save the following files:

                                  • /home/pi/.emulationstation/es_log.txt
                                  • /home/pi/.emulationstation/es_input.cfg
                                  • /opt/retropie/configs/all/retroarch-joypads/<controller-name.cfg

                                  Paste their output to pastebin.com so we can take a look and see how the input is managed by ES and the configuration file is generated.

                                  ExarKunIvE 1 Reply Last reply Reply Quote 0
                                  • ExarKunIvE
                                    ExarKunIv @mitu
                                    last edited by

                                    @mitu thanks for getting back to me

                                    heres what you asked me to do

                                    es_log txt
                                    8bitdo FC30 Pro cfg
                                    es_input cfg

                                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                    Maintainer of RetroPie-Extra .

                                    1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator
                                      last edited by mitu

                                      Looking at your controller mapping session, I see that RightAnalogLeft button is not mapped in Emulationstation

                                       Mapping [Axis 1-] -> LeftAnalogUp
                                      Mapping [Axis 1+] -> LeftAnalogDown
                                      Mapping [Axis 0-] -> LeftAnalogLeft
                                      Mapping [Axis 0+] -> LeftAnalogRight
                                      Mapping [Axis 3-] -> RightAnalogUp
                                      Mapping [Axis 3+] -> RightAnalogDown
                                      Mapping [Axis 2+] -> RightAnalogRight
                                      

                                      The 8Bitdo FC30 Pro.cfg file for RetroArch (that you posted) is obviously also missing that part:

                                      # Entries re-arranged for readability
                                      
                                      # Left joystick
                                      input_l_x_minus_axis = "-0"
                                      input_l_x_plus_axis = "+0"
                                      input_l_y_minus_axis = "-1"
                                      input_l_y_plus_axis = "+1"
                                      
                                      # Right Joystick
                                      input_r_x_plus_axis = "+2"
                                      input_r_y_minus_axis = "-3"
                                      input_r_y_plus_axis = "+3"
                                      

                                      Looking into a RetroArch auto-configuration file for a similar gamepad - see https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo_Pro_F30_BT.cfg -, I see that the joystick controls are similarly mapped, the only difference is the added input_r_x_minus_axis (i.e. the RightAnalogLeft missing from your mapping session in Emulationstation).

                                      So, are you sure you actually mapped the Right Joystick Left trigger in Emulationstation and you didn't accidentally skip it ? Does it not register at all in Emulationstation in the input configuration dialog ?

                                      ExarKunIvE 1 Reply Last reply Reply Quote 0
                                      • ExarKunIvE
                                        ExarKunIv @mitu
                                        last edited by

                                        @mitu nope i have done it more times then i would like to say. each time it just will not see it. i have skipped it and gone back to it. it just does not see it

                                        but if i map it on a clean 4.4 load with out updating anything it will work like a champ.

                                        but if i put the controller into switch mode. which Emulationstation will see it as a pro controller. then it will work. but i will have to remember that i need to boot the controller in switch mode each time

                                        and i did use jstest and the 2 axes which it the right stick, left and right. it does show a number code as i move it about, both positive and negative

                                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                        Maintainer of RetroPie-Extra .

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @ExarKunIv
                                          last edited by

                                          @ExarKunIv Can you download and install sdl-jstest and then repeat the controller testing ?

                                          ExarKunIvE 1 Reply Last reply Reply Quote 0
                                          • ExarKunIvE
                                            ExarKunIv @mitu
                                            last edited by

                                            @mitu i really hate to ask, but how do i install it.

                                            i hate to say but it is above me on how to go about getting it installed, sorry

                                            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                            Maintainer of RetroPie-Extra .

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