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 Arcade Stick - Bluetooth connection RT and LT issue

    Scheduled Pinned Locked Moved Help and Support
    controllerbluetooth8bitdoarcade stickconfiguration
    13 Posts 4 Posters 5.8k 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.
    • R
      rastabolino
      last edited by

      Hardware: Pi 4 - 4gb
      Power supply: CanaKit Power supply
      RetroPie V.4.7.1
      Built From: Pre made from RetroPie website pi4 image
      USB: logitech keyboard
      Controller: 8bitdo Arcade Stick - new model (https://www.8bitdo.com/arcade-stick/) Not the N30!

      The RT and LT buttons on the arcade stick will not register as anything during configuration of the controller while paired in Bluetooth mode.

      I managed to get them to work via USB cable after updating the xpad driver in RetroPie... But when connected via Bluetooth all the buttons can be mapped except LT and RT which don't register anything at all during configuration.

      Any help with Bluetooth setup would be appreciated.

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

        Do the buttons work with jstest after configuring the controller ?
        Run jstest /dev/input/js0 from the command line and test the buttons to see if they show up any input.

        R 2 Replies Last reply Reply Quote 0
        • R
          rastabolino @mitu
          last edited by

          @mitu

          Hi, yes, it appears the buttons register input. I ran the command and here is the result. I pushed both RT and LT buttons several times at the end of the test and they seemed to register the input.

          jstest /dev/input/js0

          Driver version is 2.1.0.
          Joystick (8BitDo Arcade Stick) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
          and 10 buttons (BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2).
          Testing ... (interrupt to exit)
          Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2: 32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2: 32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off Axes:  0:     0  1:     0  2:-32767  3:     0  4:     0  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off ^C
          
          1 Reply Last reply Reply Quote 0
          • R
            rastabolino @mitu
            last edited by

            @mitu

            After a bit more messing around in jstest here is what I see.
            mapping appears to be the following

            joystick button: what turns on/off in jstest
            A: 0
            B: 1
            X: 2
            Y: 3
            RB: 5
            LB: 4
            Start: 7
            Select: 6
            these are the odd ones-
            RT: 5:-32767 when activated the "-" goes on and off
            LT: 2:-32767 when activated the "-" goes on and off

            mituM YFZdudeY 2 Replies Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @rastabolino
              last edited by

              @rastabolino said in 8bitdo Arcade Stick - Bluetooth connection RT and LT issue:

              RT: 5:-32767 when activated the "-" goes on and off
              LT: 2:-32767 when activated the "-" goes on and off

              They look like analog axis and not buttons.

              1 Reply Last reply Reply Quote 0
              • YFZdudeY
                YFZdude @rastabolino
                last edited by

                @rastabolino said in 8bitdo Arcade Stick - Bluetooth connection RT and LT issue:

                RT: 5:-32767 when activated the "-" goes on and off
                LT: 2:-32767 when activated the "-" goes on and off

                Are you saying that when you watch the screen pressing nothing the value is -32767 and when you press the button it instantly changes to 32767 and you never see any numbers other than those two?

                R 1 Reply Last reply Reply Quote 0
                • R
                  rastabolino @YFZdude
                  last edited by

                  @yfzdude

                  Yes that is correct. For those two buttons at least. The other buttons register as buttons and show on or off. But LT and RT react as you asked.

                  YFZdudeY 1 Reply Last reply Reply Quote 0
                  • YFZdudeY
                    YFZdude @rastabolino
                    last edited by

                    @rastabolino
                    It sounds like the driver is incorrectly detecting the exact controller type and trying to assign those two buttons to be analog triggers instead of digital buttons.

                    Does it make a difference if you change the mode by using the switches on the top left of the controller and reconnect?

                    SuperDodge seems to have found a workaround for this if you are willing to connect the controller with either the USB cable, or the 2.4GHz adapter.
                    See https://retropie.org.uk/forum/post/243118 for the details.

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

                      @yfzdude said in 8bitdo Arcade Stick - Bluetooth connection RT and LT issue:

                      SuperDodge seems to have found a workaround for this if you are willing to connect the controller with either the USB cable, or the 2.4GHz adapter.
                      See https://retropie.org.uk/forum/post/243118 for the details.

                      Actually, this is where this topic originated, but this one is about using the controller over Bluetooth.

                      Over USB, xpad takes care of the triggers-as-axis issue, but over Bluetooth I think the pad is not handled by xpad. The same issue was present on the M30 (Megadrive) controller, for compatibility with the Xbox controllers, 8Bitdo decided to map L/R to axis.
                      RetroArch auto-configuration can be modified to make the buttons work( see the existing auto-config for the M30_XInput), but EmulationStation will not. What you can do is skip the L/RT buttons in EmulationStation, then manually add to the generated .cfg file some entries for the missing buttons:

                      input_r2_axis = "+5"
                      input_l2_axis = "+2"
                      

                      You can find said configuration file in \\retropie\configs\all\retroarch-joypads.

                      You could try mapping them in Switch Mode over BT and see if the behavior is different.

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        rastabolino @mitu
                        last edited by

                        @mitu @YFZdude

                        Thank you both for your responses. I will have a chance to test out the controller in switch mode and play around with the configuration files after the Thanksgiving holiday. I will get back to you in a few days. Happy holidays and thanks for the support!

                        1 Reply Last reply Reply Quote 0
                        • R
                          RotoPropJet
                          last edited by RotoPropJet

                          I found a super easy solution/workaround.
                          The issue seems to be that RT & LT are analogue. We can also see this when one plugs in the 8bitdo Arcade Stick via USB to a Windows PC and check the properties of the game controller.

                          The solution/workaround I used was to use the 8bitdo Ultimate software and map the RT and LT with RS (Right Stick push) and LS (Left Stick Push) instead. Those are not analogue, so there is no more problems. Once in Retropie, just do the normal “Configure Input” from the Main menu (after hitting the “start button”) and voilà! This seems to work for both Bluetooth connection or using the 2.4G stick.
                          Yes, the controller will send a signal normally associated to LS and RS instead of LT and RT, but it will not matter at all, since it is taken care of during the normal “configure inputs” step we do in Retropie.

                          1 Reply Last reply Reply Quote 0
                          • R
                            RotoPropJet
                            last edited by

                            So in summary, for any newbies:

                            1. Go to the 8bitdo official website, download and install the 8bitdo ultimate software on your PC or Mac, if not already done.
                            2. Plug the 8Bitdo Arcade Stick to your PC or Mac with a USB cable and make sure your selector knob is in “X” mode (top left of the 8bitdo Arcade Stick)
                            3. Start the 8bitdo Ultimate software
                            4. On the right, in the button mapping panel, beside RT, associate RS instead. Do the same for LT except choose LS.
                            5. Don’t forget to synchronize the controller (icon at the top) before disconnecting the USB cable.
                            6. Connect your 8bitdo Arcade stick to the Retropie either via a USB cable, the 2. To 4G stick or Bluetooth.
                            7. Push the start button to get to the main menu (you might need another controller or keyboard to make the selections initially).
                            8. Select “configure input”. At first, make sure your selector knob is selected to DP (middle selection) to associate D-pad up, down, left, right. This time the RT and RS buttons will work flawlessly.
                            R 1 Reply Last reply Reply Quote 3
                            • R
                              rastabolino @RotoPropJet
                              last edited by

                              @rotopropjet

                              Thank you so much for sharing this solution! This was an easy fix and works for me too.

                              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.