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

    Dualshock controllers on 4.4 with 3B+

    Scheduled Pinned Locked Moved Help and Support
    controllerdualshock3b+4.4
    61 Posts 20 Posters 24.1k 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.
    • strangerukS
      strangeruk
      last edited by strangeruk

      I have been doing some investigating and it would appear that my Left and Right Triggers (L2/R2) are reading as analog presses. I know the triggers are pressure sensitive but I thought these were interpreted as digital for the purpose of Retropie? It would explain why the key press does not register correctly during the setup.

      jtest /dev/input/js0 results:
      Axes: 0: 0 1: 0 2:-32767 3: 0 4: 0 5: 32767 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:on 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off 16:off

      Axes 2 and 5, as well as Buttons 6 and 7 represent L2 and R2, with the count going from -32767 to +32767 when the trigger is pressed.

      Admittedly, I have never used the jtest command in my working 4.3 build, is that normal or should the triggers only read as Buttons?

      Edit: I have remapped the buttons manually and all seems fine and works as expected, just seems odd that the Configure Input wizard wouldn't work properly.

      1 Reply Last reply Reply Quote 0
      • D
        Dunlapjc
        last edited by

        Even with the patch above that worked for some I’m still having issues with N64 (Mario Kart) not seeing the second DualShock as controller #2?

        Does anybody have any other ideas?

        Thanks,
        Jon

        1 Reply Last reply Reply Quote 0
        • J
          Johnson Hedges
          last edited by Johnson Hedges

          When you are still having troubles playing with 2 or more players in MarioKart64 and you already applied the above mentioned patch, then you probably should edit your mupen64plus.cfg because there the Motion Controllers are still listed as empty name controllers.

          This has done the trick for me:

          • ssh into your RetroPie
          • enter
          sudo nano /opt/retropie/configs/n64/mupen64plus.cfg
          
          • scroll to the section with [Input-SDL-Control1]
          • check for the entry
          # SDL joystick name (or Keyboard)
          name = "Wireless Controller"
          
          • if the name is "Wireless Controller", go to the next section
          • if the name is empty like this
          name =""
          

          delete the whole section beginning with [Input-SDL-Control1] until the next section starts

          • check each following section beginning with [Input-SDL-Control and delete the whole section it if the name attribute ist empty
          • with all the empty-name sections removed, number each remaining section correctly beginning with [Input-SDL-Control1], then [Input-SDL-Control2] and so on.
          • save with Ctrl+O
          • exit with Ctrl+X
          • reboot and enjoy multiplayer MarioKart64
          C 1 Reply Last reply Reply Quote 0
          • C
            chrisjpark @Johnson Hedges
            last edited by

            Hi

            I know this is quite an old thread but I have come across this problem and can’t seem to disable the motion sensors for my PS4 controllers. I have created the file as described but when I run the cat /proc/bus/input/devices they still show up. Am I missing something ?

            Thanks

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

              @chrisjpark There is a workaround for disabling in this topic.

              C 1 Reply Last reply Reply Quote 0
              • C
                chrisjpark @mitu
                last edited by

                @mitu yes. I have done this. However the motion sensors still show when I run the cat command.

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

                  @chrisjpark So, what's the actual problem you have ? The cat command doesn't run games, so if you maybe explain what your exact problem it might help to find a solution.

                  C 1 Reply Last reply Reply Quote 0
                  • C
                    chrisjpark @mitu
                    last edited by

                    @mitu the problem is that when the DS4 controller is connected it does not recognise the other controllers for player 2 within games. However is have just done some more testing and the problem appears to be fixed. However the cat command still shows the motion sensors as being active. Maybe that is normal behaviour though and I am just misunderstanding.

                    1 Reply Last reply Reply Quote 0
                    • B
                      bullethead @rsn8887
                      last edited by

                      Thanks for this! It worked great after using SSH and creating the rule in Retropie. I did have to reconfigure the controller layout after reboot.

                      1 Reply Last reply Reply Quote 0
                      • T
                        th0mi
                        last edited by

                        Hey guys, first: i'm new to the world of retropie, so please be patient:)
                        I followed the instructions above, but it didnt fixed the problem of the motion sensors.
                        I looked for the rule, whether it is saved or not.

                        pi@retropieTU:~ $ sudo cat /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules
                        cat: /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules: No such file or directory

                        So i am wondering why the rule isn't saved. i pressed strg+x, pressed y, then strg+c, strg+x, n
                        Is the rule saved this way?
                        Is there any other way to reboot instead?

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

                          @th0mi Did you get any error while trying to save the file ? Remember you'll need to run the editor as root, so start it with

                          sudo nano /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules
                          

                          then enter the text and afterwards save it.

                          1 Reply Last reply Reply Quote 0
                          • T
                            th0mi
                            last edited by

                            There wasn't any error. Can't remember the right wording yet, there was something like "File saved at/as..."

                            I started it with sudo, is there something to else to consider that i run the editor as root?
                            I am gonna make a screenshot of if in a few minutes.

                            1 Reply Last reply Reply Quote 0
                            • T
                              th0mi
                              last edited by

                              screenshot of it

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

                                The path looks ok - you can check if the file was created with the command

                                ls -l /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules
                                

                                Do you have an original Sony DS3/DS4 or something else ? The configuration is specifically for those controllers.

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

                                  I did everything on this post, but my raspberry still recognizes the motion sensor as a device.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    burtthaman
                                    last edited by burtthaman

                                    @Madcaplaughs I can confirm that this works on ps4 dualshock 4.4 internal bluetooth 3B+

                                    If it's not working for you, there's a chance you put the file in the wrong directory. As this is a new file, it would be very easy to think you did it right and create a new file.. but in the wrong place. Again, I am NOT using a dongle. I AM using ps4 controller bluetooth internal. The exact problem in this thread was the issue. Two controllers showed up per controller. And it was exactly this, the motion sensor counted. When I disabled it, everything fixed.

                                    PLEASE make sure you ar using the correct fix as he originally posted the wrong thing. See below

                                    @rsn8887 said in Dualshock controllers on 4.4 with 3B+:

                                    Here are the corrected instructions. I tested this and it works for me. Emulationstation sees only one controller per DS4 and AdvanceMAME does not react to controller motion events anymore.

                                    ssh into your RetroPie

                                    enter

                                    sudo nano /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules

                                    paste the following into the editor

                                    #disable DS3/DS4 motion controls
                                    SUBSYSTEM=="input", ATTRS{name}=="*Motion Sensors", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""

                                    Hit CTRL-x and y to save

                                    reboot and verify that motion controls are disabled. For example Emulationstation should only detect 1 controller per DS4 etc.

                                    Also, please be sure you have updated your system so we know you're using the same versions/packages as everyone else. Be sure to reconfigure the controller after reboot as well. The button bindings may need to be reset. Lastly, you can use various programs (discussed in other forums) to test your controller keybindings, then compare them to the controller config file. Keep in mind the ps4 bluetooth using internal shows up as "wireless controller" and not dualshock

                                    1 Reply Last reply Reply Quote 0
                                    • Y
                                      youxia
                                      last edited by

                                      I ssh using WinSCP. Then I open Terminal. From there I try to execute this line:

                                      sudo nano /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rule
                                      

                                      I get this error: "Command [...] failed with return code 1 and error message: Error opening terminal: unknown.

                                      Any idea what am I doing wrong?

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

                                        @youxia said in Dualshock controllers on 4.4 with 3B+:

                                        Any idea what am I doing wrong?

                                        The terminal emulator doesn't properly report its name. Try running export TERM=xterm before running the command. If that doesn't work, then use Putty to connect to RetroPie.

                                        And please, don't bump old topics - you should have opened a new one.

                                        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.