• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.
  • E
    edmaul69 @hooperre
    last edited by 19 Jun 2018, 21:11

    @hooperre yeah it was the wirdest thing.

    1 Reply Last reply Reply Quote 0
    • D
      darkblaster77 @rsn8887
      last edited by 24 Jun 2018, 01:59

      @rsn8887
      Tried it with 2 x DS4 controllers. It doesn't work.

      Did anyone manage to get this working?

      1 Reply Last reply Reply Quote 0
      • R
        rsn8887
        last edited by rsn8887 24 Jun 2018, 04:41

        Thanks but “it doesn’t work” is a pretty useless bug report. I should say I haven’t gotten around to testing this. You might have to check the device name strings of your controllers and make sure the script lines match those strings exactly. You can get a printout of the strings by running ‘cat /proc/bus/input/devices’ from the shell while your DS4 controllers are connected.

        It could also be something else.

        D 1 Reply Last reply 25 Jun 2018, 16:04 Reply Quote 0
        • D
          darkblaster77 @rsn8887
          last edited by 25 Jun 2018, 16:04

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

          cat /proc/bus/input/devices

          With 2 x DS4 controllers connected via bluetooth..

          I: Bus=0003 Vendor=0572 Product=c688 Version=0800
          N: Name="IR-receiver inside an USB DVB receiver"
          P: Phys=usb-3f980000.usb-1.1.3/ir0
          S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/rc/rc0/input0
          U: Uniq=
          H: Handlers=kbd event0
          B: PROP=0
          B: EV=100013
          B: KEY=40c0200 100891 0 0 0 0 118000 180 1 9e1680 0 0 ffe
          B: MSC=10
          
          I: Bus=0005 Vendor=054c Product=09cc Version=8100
          N: Name="Wireless Controller Touchpad"
          P: Phys=b8:27:eb:52:c0:44
          S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:054C:09CC.0005/input/input14
          U: Uniq=dc:0c:2d:4d:c9:b5
          H: Handlers=event1
          B: PROP=5
          B: EV=b
          B: KEY=2420 0 10000 0 0 0 0 0 0 0 0
          B: ABS=2608000 0
          
          I: Bus=0005 Vendor=054c Product=09cc Version=8100
          N: Name="Wireless Controller Motion Sensors"
          P: Phys=b8:27:eb:52:c0:44
          S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:054C:09CC.0005/input/input15
          U: Uniq=dc:0c:2d:4d:c9:b5
          H: Handlers=event2
          B: PROP=40
          B: EV=19
          B: ABS=3f
          B: MSC=20
          
          I: Bus=0005 Vendor=054c Product=09cc Version=8100
          N: Name="Wireless Controller"
          P: Phys=b8:27:eb:52:c0:44
          S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:054C:09CC.0005/input/input13
          U: Uniq=dc:0c:2d:4d:c9:b5
          H: Handlers=event3 js0
          B: PROP=0
          B: EV=20001b
          B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
          B: ABS=3003f
          B: MSC=10
          B: FF=1 7030000 0 0
          
          I: Bus=0005 Vendor=054c Product=09cc Version=8100
          N: Name="Wireless Controller Touchpad"
          P: Phys=b8:27:eb:52:c0:44
          S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:054C:09CC.0006/input/input17
          U: Uniq=70:20:84:3d:bb:34
          H: Handlers=event4
          B: PROP=5
          B: EV=b
          B: KEY=2420 0 10000 0 0 0 0 0 0 0 0
          B: ABS=2608000 0
          
          I: Bus=0005 Vendor=054c Product=09cc Version=8100
          N: Name="Wireless Controller Motion Sensors"
          P: Phys=b8:27:eb:52:c0:44
          S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:054C:09CC.0006/input/input18
          U: Uniq=70:20:84:3d:bb:34
          H: Handlers=event5
          B: PROP=40
          B: EV=19
          B: ABS=3f
          B: MSC=20
          
          I: Bus=0005 Vendor=054c Product=09cc Version=8100
          N: Name="Wireless Controller"
          P: Phys=b8:27:eb:52:c0:44
          S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:054C:09CC.0006/input/input16
          U: Uniq=70:20:84:3d:bb:34
          H: Handlers=event6 js1
          B: PROP=0
          B: EV=20001b
          B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
          B: ABS=3003f
          B: MSC=10
          B: FF=1 7030000 0 0
          
          R 1 Reply Last reply 25 Jun 2018, 17:58 Reply Quote 0
          • U
            UDb23 @edmaul69
            last edited by UDb23 25 Jun 2018, 17:47

            @edmaul69 Just installed a brand new DS4 controller (usb wired) with Retropie 4.4 and B+ (fresh install) and it's seen as 2 controllers. Still buttons and Select as hotkey work as they should.
            No tested yet how this impacts on additional controller; will any additional gamepad be seen as player 3 ?

            1 Reply Last reply Reply Quote 0
            • R
              rsn8887 @darkblaster77
              last edited by rsn8887 25 Jun 2018, 17:58

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

              With 2 x DS4 controllers connected via bluetooth..

              I made a mistake, I should have used ATTRS{name} instead of NAME. Also, it is not possible to use idVendor/idProduct and name in the same rule, because they belong to different parents.

              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.

              B 1 Reply Last reply 18 Jan 2019, 02:04 Reply Quote 3
              • R
                rsn8887
                last edited by 26 Jun 2018, 05:15

                I just tested the above solution and it works for me.

                D 1 Reply Last reply 26 Jun 2018, 16:09 Reply Quote 0
                • T
                  tominator
                  last edited by 26 Jun 2018, 05:22

                  That solution worked perfectly! Thank you!!!!

                  1 Reply Last reply Reply Quote 0
                  • D
                    darkblaster77 @rsn8887
                    last edited by 26 Jun 2018, 16:09

                    @rsn8887
                    It is working flawlessly!!! Greatly appreciate your help. =)

                    1 Reply Last reply Reply Quote 0
                    • R
                      rsn8887
                      last edited by 26 Jun 2018, 17:30

                      I wonder if this solution could be included into the next Retropie release?

                      1 Reply Last reply Reply Quote 1
                      • strangerukS
                        strangeruk
                        last edited by 3 Jul 2018, 13:47

                        I have tried the above for my Offical Dualshock 3 and I still can't configure the input. It seems when I get to the "Right trigger" part it jumps forward and sets as not defined. Interestingly, when running cat /proc/bus/input/device, the Motion Sensors entry is still appearing. Any ideas?

                        1 Reply Last reply Reply Quote 0
                        • R
                          rsn8887
                          last edited by rsn8887 7 Mar 2018, 23:23 3 Jul 2018, 22:22

                          I have only tested this myself using Dualshock 4 controllers connected via Sony dongles.

                          I think from the reports by other users here we can assume that it also works for Dualshock 4 connected via internal Bluetooth module.

                          Dualshock 4 report as
                          "Wireless Controller Motion Sensors"

                          Dualshock 3 should report as
                          "Sony PLAYSTATION(R)3 Controller Motion Sensors"

                          Since both these strings end with the words "Motion Sensors" my rule, which matches any string ending in "Motion Sensors" should work the same for DS3 and DS4.

                          Maybe you can check your string by connecting your DS3 controllers and entering the command cat /proc/bus/input/devices?

                          Maybe someone else can test it with DS3 controllers to see if it is only you?

                          strangerukS 1 Reply Last reply 4 Jul 2018, 10:14 Reply Quote 0
                          • strangerukS
                            strangeruk @rsn8887
                            last edited by strangeruk 7 Jun 2018, 10:51 4 Jul 2018, 10:14

                            @rsn8887 Ok so I have done the following:

                            pi@retropie:~ $ sudo nano /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules
                                  File: /etc/udev/rules.d/51-disable-DS3-and-DS4-motion-controls.rules
                            
                            #disable DS3/DS4 motion controls
                            SUBSYSTEM=="input", ATTRS{name}=="*Motion Sensors", RUN+="/bin/rm %E{DEVNAME}"
                            

                            This is the result from cat /proc/bus/input/devices:

                            pi@retropie:~ $ cat /proc/bus/input/devices
                            I: Bus=0003 Vendor=054c Product=0268 Version=8111
                            N: Name="Sony PLAYSTATION(R)3 Controller Motion Sensors"
                            P: Phys=usb-3f980000.usb-1.2/input0
                            S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.0001/input/input1
                            U: Uniq=00:1e:3d:6b:42:c0
                            H: Handlers=event0
                            B: PROP=40
                            B: EV=9
                            B: ABS=7
                            
                            I: Bus=0003 Vendor=054c Product=0268 Version=8111
                            N: Name="Sony PLAYSTATION(R)3 Controller"
                            P: Phys=usb-3f980000.usb-1.2/input0
                            S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.0001/input/input0
                            U: Uniq=00:1e:3d:6b:42:c0
                            H: Handlers=js0 event1
                            B: PROP=0
                            B: EV=20001b
                            B: KEY=f 0 0 0 0 0 0 0 7fdb0000 0 0 0 0 0 0 0 0 0
                            B: ABS=3f
                            B: MSC=10
                            B: FF=1 7030000 0 0
                            

                            It may be a silly question, but would it make any difference that I'm running 4.4 on a 3b and not 3b+? Bluetooth hardware is the same, right?

                            1 Reply Last reply Reply Quote 0
                            • R
                              rsn8887
                              last edited by 8 Jul 2018, 17:16

                              I can see you forgot the ‘, ENV{ID_INPUT_JOYSTICK}=""’

                              at the end in your rules file. Maybe that’s the problem.

                              strangerukS 1 Reply Last reply 9 Jul 2018, 09:48 Reply Quote 0
                              • strangerukS
                                strangeruk @rsn8887
                                last edited by 9 Jul 2018, 09:48

                                @rsn8887 Sorry, copy and paste fail in my reply - I can confirm I am using the full statement of SUBSYSTEM=="input", ATTRS{name}=="*Motion Sensors", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}="". Tried another controller in case it was an issue with that, but still the same result where it will not read the inputs properly on the Configure Input 'wizard'. Other (none DS3) controllers work fine. Anything else I can do to try and diagnose?

                                1 Reply Last reply Reply Quote 0
                                • strangerukS
                                  strangeruk
                                  last edited by strangeruk 7 Sept 2018, 18:11 9 Jul 2018, 11:31

                                  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 31 Aug 2018, 11:14

                                    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 29 Dec 2018, 18:31

                                      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 30 Dec 2018, 12:14 Reply Quote 0
                                      • C
                                        chrisjpark @Johnson Hedges
                                        last edited by 30 Dec 2018, 12:14

                                        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 30 Dec 2018, 12:26 Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @chrisjpark
                                          last edited by 30 Dec 2018, 12:26

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

                                          C 1 Reply Last reply 30 Dec 2018, 12:29 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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received