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