Dualshock 4 crazy-fast, repeating controls

Hi. This might be a general problem. (I’m new so I cannot start a new thread). Been trying out various kernel that I’ve built myself (not lakka but ubuntu). with kernel 4.4.53 (before the VID/PID for v2 of the DS was backported to the Sony HID driver), v1 would control fine, v2 would be wonky. With later kernels where DS4v2 was added, the opposite happened. V2 would be fine, but V1 would be wonky. I looked for clues everywhere, in dmesg, kernel config, source code. I couldn’t find anything particulary that stood out. Both versions “should” work fine.

In the end, the solution was simple:

I deleted “Sony Computer Entertainment Wireless Controller.cfg” from the autoconfig/udev folder. This conflicts with Sony-PlayStation4-DualShock4-Controller.cfg. Dunno the exact cause but looking inside the files I can see the VID/PID are the same but the button mappings are a bit different.

I think with an earlier kernel without explicit support for the v2, probably “Sony_PlayStation4_Dualshock4_500-Million_Limited_Edition.cfg” was conflicting with “Sony-PlayStation4-DualShock4v2-Controller.cfg” With a later kernel, this isn’t the case although you shouldn’t ask me why.

Anyways, at least Sony Computer Entertainment Wireless Controller.cfg should be removed upstream. Maybe “Sony_PlayStation4_Dualshock4_500-Million_Limited_Edition.cfg” too. Any devs that could look into this?

Hello, have the same problem, came today at least as far as connecting the controller and then came to the same behavior.

Had zumidnest managed to stop the controller from configuring itself automatically.

Then I went through the buttons manually:

-> What I noticed at least: With the D-Pad and the analog sticks the value is set to -3 if upwards.

As soon as any key has been set to -3, whether with cable or Bluetooth, it will behave like this.

Can anyone do anything with it?

Or any other workaround?

Translated with www.DeepL.com/Translator

Hey, where is the autoconfig folder you mean?

http://www.lakka.tv/doc/Input-settings/

Sorry, one more stupid question, im logged in with root access and wont let me delete this file, how did you do that?

I didn’t use Lakka, but ubuntu. Lakka is based on OpenELEC so the filesystem is compressed into a squashfs file. Probably Lakka haven’t configured the the overlay file system (or doesn’t use an overlayfs) to cover these files system.

Upon reading http://www.lakka.tv/doc/Accessing-Lakka-filesystem/

The joypad folder is editable. You probably have to replicate the relative path of the original file, which is udev/Sony Computer Entertainment Wireless Controller.cfg.

Maybe if you put a file there named "Sony Computer Entertainment Wireless Controller.cfg” and make it empty, it might override the included one.

Upon checking https://github.com/libretro/retroarch-joypad-autoconfig/tree/master/udev it seems the file Sony Computer Entertainment Wireless Controller.cfg isnt there at all. I dunno how that file ended up in my autoconfig folder. I even tried to delete med autoconfig folder and updated it inside Retroarch and it’s nowhere to be seen.

I dunno how it ended up there in the first place. Maybe because I configured it and saved it before I ran the updater. So I guess, my problem was self inflicted and probably won’t help anyone here. (although the symptoms were the same)

I got it working!

After i enabled ssh and samba i could find out what was wrong with my Dualshock PS4 Controller. Under samba i found 2 files in \Lakka-IP\Joypads\udev ssh: ~/joypads/udev

  • Sony-PlayStation4-DualShock4v2-Controller.cfg
  • Sony-PlayStation4-DualShock4v2-Wired-Crystal-Controller.cfg

After investigating both files in Text-Editor i found out that the options for some configurations where different. for example: input_r_x_plus_axis input_r_x_minus_axis input_r_y_plus_axis input_r_y_minus_axis

After i changed all wrong options in both files to the right values it worked perfekt. This should also work with the wireless file or the bluethooth file. Thanks for all your work in this case.

Hey, great! Could you pleased Post your actual config File?

input_device = "Sony Interactive Entertainment Wireless Controller"
input_driver = "udev"
input_vendor_id  = "1356"
input_product_id = "2508"
input_b_btn = "1"
input_y_btn = "0"
input_select_btn = "8"
input_start_btn = "9"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "2"
input_x_btn = "3"
input_l_btn = "4"
input_r_btn = "5"
input_l2_btn = "6"
input_r2_btn = "7"
input_l3_btn = "10"
input_r3_btn = "11"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+5"
input_r_y_minus_axis = "-5"
input_menu_toggle_btn = "12"

input_b_btn_label = "Cross"
input_y_btn_label = "Square"
input_select_btn_label = "Share"
input_start_btn_label = "Options"
input_up_btn_label = "D-Pad Up"
input_down_btn_label = "D-Pad Down"
input_left_btn_label = "D-Pad Left"
input_right_btn_label = "D-Pad Right"
input_a_btn_label = "Circle"
input_x_btn_label = "Triangle"
input_l_btn_label = "L1"
input_r_btn_label = "R1"
input_l2_btn_label = "L2"
input_r2_btn_label = "R2"
input_l3_btn_label = "L3"
input_r3_btn_label = "R3"
input_l_x_plus_axis_label = "Left Analog Right"
input_l_x_minus_axis_label = "Left Analog Left"
input_l_y_plus_axis_label = "Left Analog Down"
input_l_y_minus_axis_label = "Left Analog Up"
input_r_x_plus_axis_label = "Right Analog Right"
input_r_x_minus_axis_label = "Right Analog Left"
input_r_y_plus_axis_label = "Right Analog Down"
input_r_y_minus_axis_label = "Right Analog Up"
input_menu_toggle_btn_label = "PS"

Please change the Product and Vendor ID to your needs.

1 Like

Thanks a lot! That worked for me, too.

Can someone please help me with getting my wireless 8bitdo to work on Lakka with my RP3+? What would a proper config file look like for it? I’m a complete noob so please go easy on me.

Also, using a keyboard with Lakka is useless because there’s no “back” button. Left arrow should take me out of a current menu but this does nothing. Terrible design choice. I also find it infuriating that Bluetooth can’t work out of the box. Why not? Why can’t it just have all this stuff working by default? Why do I have to become a hacker to achieve this?

Backspace is ‘back’. Left/right arrows cycle through menu options, so it wouldn’t work to make left also go ‘back’ in the menu.

Bluetooth and pairing is always weird in linux, and Lakka is no exception. If you don’t want to learn how to do it (and I agree, it’s a hassle), you can always use USB connections.

Nonsense. The Back arrow is a navigational element. It suggests movement through a network of options, and it behaves as such when the user is at the first menu screen. It ceases to function this way when an option is being changed. This is just bad design. The A, B, Y, or X buttons, or even R and L, should be what are used to change or cycle through an option.

Lakka is riddled with bad interface design like this. For example, no indication of whether the user has successfully connected to WIFI except one word appearing to the right of the current network name. No WiFi icon appearing on the title bar at top right, no error message if the user incorrectly enters the password, no character selection screen to enter a password with a controller…

Plugging in a keyboard doesn’t prompt the user with a HUD to explain what keys are mapped where or how to navigate the system without a controller…

Scanning the ROMS folder does nothing, and no consoles appear at right. No indication of what went wrong, where to go to play them…

The interface is the best out there in terms of look and concept. I would LOVE to use this as my gaming system. But Lakka is a disaster for ease of use. I pray that their developers see this comment and I sincerely hope these issues get addressed. I’ll have to use RetroPie for now. Lakka is unusable for me in its current state.

Hi all, I’m having this issue.

I’m using Lakka 2.2.2 in my RPi 3 B+

If I connect my Dualshock 4 V2 with bluetooth the input goes crazy, for example, if I press D-Pad UP, the menu goes UP like if I have pressed the button 4 times.

I read something about .cfg files, but I have no idea really how to load those CFG. I got the RPi coonected with PuTTy and SMB activated (the shared files throgh network thing).

Any help??

That controller config file does not work for me. I didn’t have any existing ds4 configs in /joypads/udev (ssh) or Configfiles\retroarch\autoconfig (smb). I tried the file in both places but my CUH-ZCT2U still jumps all over the place and also interferes with other input devices.

Edit: It works after changing the filename. Mine has to be “Sony Interactive Entertainment Wireless Controller.cfg” - if you can create an autoconfig with the controller connected it will give you the right name to use and then just edit the file and paste in the config above. I navigated first without the controller, plugged it in and my enter button on keyboard still worked even though directionals didn’t. Wired it now works for me, however bluetooth does not.

Still an issue? Nobody really cares for the ps4 controller, it’s the best!

I do a fresh install of lakka, remove the configs with “mkdir /tmp/joypads/udev/crap ; mv /tmp/joypads/udev/* /tmp/joypads/udev/crap”

and then i do the bluetooth setup, usually works.

I believe this isn’t fixed yet. My Xbox S controllers work perfectly. I can recall only 1 time I had to unplug/plug the controller.

Running the latest RA 1.8.1 on Ubuntu 14.04 and kernel 4.19.x and with my DS4v2 controller I can provoke this everytime.

I prefer that RA does not save my settings automatically, and whenever I save the config (Save current configuration), which is the easiest way to provoke this, the controller will be wonky afterwards.This only happens with DS4v2, DS4v1 seems to works fine. (although I can’t say it works 100% before I test it further, but at least it doesn’t get wonky whenever I save the configuration)

My experience shows that this issue only happens with old linux kernels. Using a recent distro would likely fix the issue for most.

In the case of Lakka, the stable version is based on an old LibreELEC (LE8) which means the kernel will not be upgraded (or it is very unlikely). When Lakka-LE9.2 gets released I would expect the issue to be fixed.

It can’t be because of an “old kernel”. It’s not like RA hooks deep into the kernel. Even if it did, there would be a reason of this behavior, not just because of “an old kernel”. And I do use the latest LTS kernel, and the Sony driver is up to date (fixes are backported) compared to master.

It never happens in-game, only by navigating around in the menu. It can trigger randomly, but always after “something” you did, like closing the content, navigating to a big playlist, adjusting a value down or up (and quite often it gets stuck pressing either left or right, and sometimes alternating betweeen left/right), and it triggers almost everytime when saving the configuration.

I have tried to manually creating the config too. (The values will correspond to the built-in autoconfig, so the values are right).

So I’m left using my xbox s controllers, which kinda sucks since I hate that controller.