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

    Configure 2 identical controllers differently

    Scheduled Pinned Locked Moved Help and Support
    gamepadcontroller8bitdoxboxdrv
    18 Posts 4 Posters 1.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.
    • xadoxX
      xadox
      last edited by xadox

      Since the Pi or PC only sees the receiver. There is no difference in what kind of mode is used with an 8bitdo controller.

      You could also use a PS3 or PS4 controller with this kind of receivers.
      The receivers do not have differend kind of modes (besides firmware update mode).

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

        @xadox That's not what you're telling in the first post - even if they're seen as an USB receiver, you say they're recognized as Microsoft X-Box 360 Pad. Are you running xboxdrv by any chance ?

        1 Reply Last reply Reply Quote 0
        • xadoxX
          xadox
          last edited by xadox

          Yes. What I told in the first post its correct.
          If I connect one of the Receivers without a Controller paired to them the following is shown (in this case under Ubuntu 16.04, no Pi around):

          usb 2-2.1: USB disconnect, device number 4
          usb 2-2.1: new full-speed USB device number 5 using uhci_hcd
          usb 2-2.1: New USB device found, idVendor=045e, idProduct=028e
          usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
          usb 2-2.1: Product: 8Bitdo Receiver
          usb 2-2.1: Manufacturer: 8Bitdo Receiver   
          usb 2-2.1: SerialNumber: Receiver     
          input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb2/2-2/2-2.1/2-2.1:1.0/input/input7
          

          So the system recognises the Receivers as Microsoft X-Box 360 pad.
          The xboxdrv is not installed.

          1 Reply Last reply Reply Quote 0
          • mediamogulM
            mediamogul Global Moderator
            last edited by mediamogul

            @xadox, @mitu

            At little history to @xadox's issue can also be found here. When you last wrote you noted that you were able to use a udev rule to create a unique symlink. To my knowledge, the only way to differentiate the two would be to have a different ID name. The only way I know how to do that would be to map a new virtual controller to one of the physical ones and assign a unique ID name there. I have a specific note on how to achieve this using xboxdrv, but you may be able to find a similar solution with other software.

            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

            xadoxX 2 Replies Last reply Reply Quote 1
            • xadoxX
              xadox @mediamogul
              last edited by

              @mediamogul Yeah. I thought it would be better to create an own thread for this.
              I gave up with the udev rule, since I was not able to find enought information for this.

              I think I will give the xboxdrv a try and will read your FAQ first.

              mediamogulM 1 Reply Last reply Reply Quote 0
              • mediamogulM
                mediamogul Global Moderator @xadox
                last edited by

                @xadox said in Configure 2 identical controllers differently:

                think I will give the xboxdrv a try

                You might first see if you can discover any other possible solutions for changing the ID name. xboxdrv will definitely do the job, but it's a bit like taking a howitzer to a housefly.

                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                xadoxX 1 Reply Last reply Reply Quote 0
                • xadoxX
                  xadox @mediamogul
                  last edited by

                  @mediamogul Learing never hurts :)

                  Besides maybe I could also solve the problem with the 8BitDo SN30 PRO that the left and right trigger buttons are not working in ES or RetroArch.

                  G 1 Reply Last reply Reply Quote 1
                  • G
                    grant2258 Banned @xadox
                    last edited by

                    delete the config that getting used or move it somewhere safe so there is no conflict

                    1 Reply Last reply Reply Quote 0
                    • xadoxX
                      xadox @mediamogul
                      last edited by xadox

                      @mediamogul After some problems in getting rc.local running on Ubuntu 16.04 I was able to create the configs for the two Receivers.

                      Both Receivers are getting individual Names and Configs in ES an RR, now.
                      The problem with the trigger buttons on the SN30 Pro could be solved, also.

                      But I have no clue how to start xboxdrv with the configs for the two Receivers at once. I am only able to start xboxdrv for one controller at once.

                      mediamogulM 1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator @xadox
                        last edited by mediamogul

                        @xadox

                        Without seeing the script I can only guess, but it could be that xboxdrv is trying to call out to the same controller twice due to it having the same name. If this is the case, you could repeat the trick you were using earlier to create a unique symlinked event with a udev rule and point one of the xboxdrv launch instances to it. For troubleshooting, I always like to manually launch my xboxdrv instances from a terminal where I can view and correct any errors before I move them into a script.

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        xadoxX 1 Reply Last reply Reply Quote 0
                        • xadoxX
                          xadox @mediamogul
                          last edited by xadox

                          @mediamogul At the moment I am starting xboxdrv manually from terminal.

                          /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                          --evdev /dev/input/by-path/pci-0000:02:03.0-usb-0:2.1:1.0-event-joystick \
                          --silent \
                          --detach-kernel-driver \
                          --deadzone-trigger 15%	\
                          --deadzone 4000	\
                          --device-name "8BitDo SFC30" \
                          --evdev-absmap ABS_X=dpad_x,ABS_Y=dpad_y \
                          --evdev-keymap BTN_EAST=a,BTN_SOUTH=b,BTN_WEST=x,BTN_NORTH=y,BTN_TL=lb,BTN_TR=rb,BTN_SELECT=back,BTN_START=start \
                          --dpad-only \
                          --ui-axismap lt=void,rt=void \
                          --ui-buttonmap tl=void,tr=void,guide=void \
                          --evdev /dev/input/by-path/pci-0000:02:03.0-usb-0:2.2:1.0-event-joystick \
                          --silent \
                          --detach-kernel-driver \
                          --force-feedback \
                          --deadzone-trigger 15%	\
                          --deadzone 4000	\
                          --trigger-as-button \
                          --device-name "8BitDo SN30 Pro" \
                          --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RX=x2,ABS_RY=y2,ABS_Z=lt,ABS_RZ=rt,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
                          --evdev-keymap BTN_EAST=a,BTN_SOUTH=b,BTN_WEST=x,BTN_NORTH=y,BTN_TL=lb,BTN_TR=rb,BTN_THUMBL=tl,BTN_THUMBR=tr,BTN_MODE=guide,BTN_SELECT=back,BTN_START=start \
                          &
                          

                          But xboxdrv only creates the first virtual controller.
                          The second one is beeing ignored.

                          Starting xboxdrv two times with each config does not work, since I am only able to start the process once.

                          mediamogulM 1 Reply Last reply Reply Quote 0
                          • mediamogulM
                            mediamogul Global Moderator @xadox
                            last edited by mediamogul

                            @xadox

                            See if they'll work in this format

                            sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                            --evdev /dev/input/by-path/pci-0000:02:03.0-usb-0:2.1:1.0-event-joystick \
                            --silent \
                            --detach-kernel-driver \
                            --deadzone-trigger 15%	\
                            --deadzone 4000	\
                            --device-name "8BitDo SFC30" \
                            --evdev-absmap ABS_X=dpad_x,ABS_Y=dpad_y \
                            --evdev-keymap BTN_EAST=a,BTN_SOUTH=b,BTN_WEST=x,BTN_NORTH=y,BTN_TL=lb,BTN_TR=rb,BTN_SELECT=back,BTN_START=start \
                            --dpad-only \
                            --ui-axismap lt=void,rt=void \
                            --ui-buttonmap tl=void,tr=void,guide=void \
                            &
                            
                            sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv \
                            --evdev /dev/input/by-path/pci-0000:02:03.0-usb-0:2.2:1.0-event-joystick \
                            --silent \
                            --detach-kernel-driver \
                            --force-feedback \
                            --deadzone-trigger 15%	\
                            --deadzone 4000	\
                            --trigger-as-button \
                            --device-name "8BitDo SN30 Pro" \
                            --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RX=x2,ABS_RY=y2,ABS_Z=lt,ABS_RZ=rt,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
                            --evdev-keymap BTN_EAST=a,BTN_SOUTH=b,BTN_WEST=x,BTN_NORTH=y,BTN_TL=lb,BTN_TR=rb,BTN_THUMBL=tl,BTN_THUMBR=tr,BTN_MODE=guide,BTN_SELECT=back,BTN_START=start \
                            &
                            

                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                            xadoxX 1 Reply Last reply Reply Quote 1
                            • xadoxX
                              xadox @mediamogul
                              last edited by

                              @mediamogul Working, thx!

                              mediamogulM 1 Reply Last reply Reply Quote 1
                              • mediamogulM
                                mediamogul Global Moderator @xadox
                                last edited by

                                @xadox

                                Ah, nice. Glad to hear it.

                                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                1 Reply Last reply Reply Quote 0
                                • xadoxX
                                  xadox
                                  last edited by

                                  Using xboxdrv solves most of the problems I had.
                                  But now there are other problems occuring because of xboxdrv.

                                  Because xboxdrv creates a virtual gamepad, RR does not use it at first place.
                                  So I hat to switch the controller in RR.

                                  Another problem is the hotkey button. While the buttons seems to be mapped correctly in RR it does not work right.
                                  Pressing B, START, X directly uses the hotkeys instead of the normal button press.
                                  I was able to solve this after setting the hotkey button again in RR.

                                  @mediamogul Like you already mentioned. It makes the whole configuration more complicated. Always have to remeber or make a note of it how xboxdrv was configured :)

                                  I will search on another solution without the use of xboxdrv.

                                  mediamogulM 1 Reply Last reply Reply Quote 0
                                  • mediamogulM
                                    mediamogul Global Moderator @xadox
                                    last edited by

                                    @xadox said in Configure 2 identical controllers differently:

                                    I will search on another solution without the use of xboxdrv.

                                    If you find anything, please post back. I'm always interested in alternatives to these types of problems.

                                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                    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.