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 USB Receiver Woes

    Scheduled Pinned Locked Moved Help and Support
    8bitdo
    11 Posts 4 Posters 4.2k 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.
    • G
      G30FF
      last edited by

      So I bought an 8bitdo USB receiver to use with my Pi (https://www.amazon.com/Wireless-Bluetooth-Adapter-Nintendo-Switch-Raspberry/dp/B0786JC6VW/ this one in particular), thinking it would make it easier to switch my SN30 Pro controller between devices, including my Pi and my computer. I've got it working, but not without a few hurdles along the way.

      The adapter has three modes it can switch between: X-Input (shows up as Xbox 360 in Emulationstation), D-Input (shows up as "8bitdo Receiver 8bitdo Receiver" in Emulationstation), and MacOS (shows up as a PS4 controller in Emulationstation). Trying to set the controller up via the receiver has led to a few issues:

      • In X-Input mode, I can't map the L2/R2 buttons. The buttons don't register being pressed when mapping controls, even if I set all inputs, skip the L2/R2 buttons, and then go back and try to set them afterwards. I thought it might be an issue with the RetroPie Xbox 360 driver, but I don't think that's the case. If I set the SN30 Pro into X-Input mode and connect it to the Pi via wired connection, it works as expected (although if I attempt to map it connected with the receiver and then switch to the wired connection which uses the same button input mapping, L2/R2 are mapped as the Select and Start buttons respectively, and Start and Select are unmapped). But I don't think it's a problem with the receiver itself, because if I plug the receiver into my PC and test the buttons in X-Input mode, the buttons all work correctly as if it were a proper Xbox 360 controller.
      • D-Input mode works correctly, with the one exception that I can't map the Star/Screenshot button, or the 8bitdo/Home button. Mapping the Star button didn't work when the controller was connected via native bluetooth instead of the adapter, so that was expected, but in D-input mode over built in bluetooth on my Pi 3B+, the Home button could be mapped as a hotkey button, so it's odd that over the receiver it wouldn't work.
      • I've had complete success using MacOS/PS4 mode. All inputs work correctly, including the trigger buttons and Home button.

      So the adapter seems to only work fully in MacOS mode or D-Input mode (to a lesser extent). I'm curious why X-Input mode doesn't seem to work properly when it does on a PC. As the adapter does work over alternate modes, this isn't a major issue for me, although I thought I'd raise the question regarding X-Input mode in case anyone has some insight. For reference, it doesn't matter what mode the SN30 Pro itself is set to when paired to the USB Receiver, because the mode the receiver is set to controls how the controller appears to RetroPie.

      mituM 1 Reply Last reply Reply Quote 2
      • S
        Simon Belmont
        last edited by

        @G30FF said in 8bitdo USB Receiver Woes:

        So I bought an 8bitdo USB receiver to use with my Pi (https://www.amazon.com/Wireless-Bluetooth-Adapter-Nintendo-Switch-Raspberry/dp/B0786JC6VW/ this one in particular), thinking it would make it easier to switch my SN30 Pro controller between devices, including my Pi and my computer. I've got it working, but not without a few hurdles along the way.

        The adapter has three modes it can switch between: X-Input (shows up as Xbox 360 in Emulationstation), D-Input (shows up as "8bitdo Receiver 8bitdo Receiver" in Emulationstation), and MacOS (shows up as a PS4 controller in Emulationstation). Trying to set the controller up via the receiver has led to a few issues:

        • In X-Input mode, I can't map the L2/R2 buttons. The buttons don't register being pressed when mapping controls, even if I set all inputs, skip the L2/R2 buttons, and then go back and try to set them afterwards. I thought it might be an issue with the RetroPie Xbox 360 driver, but I don't think that's the case. If I set the SN30 Pro into X-Input mode and connect it to the Pi via wired connection, it works as expected (although if I attempt to map it connected with the receiver and then switch to the wired connection which uses the same button input mapping, L2/R2 are mapped as the Select and Start buttons respectively, and Start and Select are unmapped). But I don't think it's a problem with the receiver itself, because if I plug the receiver into my PC and test the buttons in X-Input mode, the buttons all work correctly as if it were a proper Xbox 360 controller.
        • D-Input mode works correctly, with the one exception that I can't map the Star/Screenshot button, or the 8bitdo/Home button. Mapping the Star button didn't work when the controller was connected via native bluetooth instead of the adapter, so that was expected, but in D-input mode over built in bluetooth on my Pi 3B+, the Home button could be mapped as a hotkey button, so it's odd that over the receiver it wouldn't work.
        • I've had complete success using MacOS/PS4 mode. All inputs work correctly, including the trigger buttons and Home button.

        So the adapter seems to only work fully in MacOS mode or D-Input mode (to a lesser extent). I'm curious why X-Input mode doesn't seem to work properly when it does on a PC. As the adapter does work over alternate modes, this isn't a major issue for me, although I thought I'd raise the question regarding X-Input mode in case anyone has some insight. For reference, it doesn't matter what mode the SN30 Pro itself is set to when paired to the USB Receiver, because the mode the receiver is set to controls how the controller appears to RetroPie.

        Hello. I'm having this same issue. I'm using a 8bitdo USB receiver with my sn30 pro on Retropie and can not map the L2 or R2 buttons? Anyone know why this doesn't work?

        Thanks

        1 Reply Last reply Reply Quote 0
        • S
          Simon Belmont
          last edited by

          Anyone use a 8bitdo sn30 pro on retropie?

          1 Reply Last reply Reply Quote 0
          • M
            malak
            last edited by

            Hi all,

            I'm also having this problem and I cant seem to get around it. I'm using an SN30 pro and the 8bitdo wireless bluetooth receiver. Both are on the current firmware. I have read some posts that suggest in direct input mode or switch mode this will work, but I have found it will only connect in x input. This works fine except for the L2 and R2 buttons, which simply are not registered on the input configuration screen.

            I'm at a loss as to what to do. Is there any potential of a fix for this? I'm somewhat confused as to why this is happening as afaik the connection should just be seen like it's a wired controller by retropie.

            Thanks for any advice.

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

              When connected to the USB retro receiver, it doesn't matter what mode the controller is in, because it's the mode of the receiver that matters. Setting the receiver to MacOS mode gives the best results with the most button compatibility. To set the receiver to MacOS mode, press and hold Select+Right on the controller for 3 seconds. RetroPie will then see the receiver as a PS4 controller.

              M 1 Reply Last reply Reply Quote 1
              • M
                malak @G30FF
                last edited by

                @G30FF Thanks so much, appears this may have sorted it! made a nice xu4 based cigar box build so would have been a shame for it to fall at the last hurdle :)

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

                  One of the problems with the Linux kernel's xpad driver (for Xbox adapters) is that it treats triggers as analog (and not as buttons), so that would be one of the cause of you seeing L2/R2 not working. You didn't specify which RetroPie release you're using, but I'd suggest updating to the latest version of the RetroPie-Setup script and trying to re-install the xpad driver from the drivers section, then give it another try (over Bluetooth).

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

                    I am on 4.4. I updated the RetroPie-Setup script, and reinstalled the xpad driver, but have the same results. It's worth noting that using the controller wired in X-input mode, the L2/R2 buttons work as expected. It's just when used over the Retro Receiver that it doesn't.

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

                      @G30FF Can you use jstest to see if the L2/R2 are detected (and how) ?

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

                        According to jstest, when the receiver is in X-input mode, the buttons map as follows:

                        0 - B
                        1 - A
                        2 - Y
                        3 - X
                        4 - L
                        5 - R
                        6 - L2
                        7 - R2
                        8 - Select
                        9 - Start
                        10 - Home/Star
                        11 - L3
                        12 - R3

                        Out of curiosity, I tried plugging in the controller in wired X-input mode, and the button mapping is identical. So jstest is seeing the controller inputs correctly, but they don't map correctly in Emulationstation or Retroarch.

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

                          I realize this topic is old now, but after recently updating the xpad driver in RetroPie-Setup, I was suddenly able to map L2/R2 in X-input mode. So whatever update was added to the xpad driver, it seems to have resolved this mapping issue, or at least how the driver reads the L2/R2 inputs on 8bitdo controllers. So this issue is now resolved for me.

                          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.