Dualshock 4 crazy-fast, repeating controls

Hi again.

I got my two new Dualshock 4 controllers (original, bought from authorized Sony Reseller, not online from eBay :).

Got them paired and connected pretty easily (once I figured the initial blinking wasn’t the “fast” mode and I had to press the two buttons quite long to enter pairing mode…)

Anyway, they connected and paired just great and I can control the menus with them… kinda. The controls repeat like CRAZY! Usually left and right repeat twice (so it changes two menuitems to selected direction instead of one), but up and down repeat so fast I cannot actually navigate the menus. If I manage to hit the main Settings-menu, hitting “Input” is pretty much impossible. If I just lightly tap down, the whole menu scrolls once through and I’m back at the first menu item (drivers).

/storage/joypads/udev is empty, so there shouldn’t even be anything that would mess up the controllers.

I also disconnected any old controllers that I used before (one wired Xbox360 and a a few wireless Xbox360 controllers with the genuine MS dongle for the controllers.), which worked just fine.

This might be a bit too confusingly described, but ask then :slight_smile:

2 Likes

do you have a keyboard you can hook up to make troubleshooting easier?

The first thing I would try is switching input drivers from udev to linuxraw. If that fixes you up, great. If not, do you have “all users can control the menu” enabled? If so, it’s possible that more than one player is getting erroneously assigned to the single pad, so it’s doubling/tripling/whatever the inputs. You would check this by going into settings > input > p2/3/4 input binds and checking to see if they’re also locking onto that first dualshock 4.

I have the XBox360 pads that work well. Thanks, I’ll try that udev->linuxraw first.

I don’t think it’s the second, since it also repeats everything with only single dualshock.

ohwell, that went NOT well…

I changed the Input and Joypad from udev to linuxraw, rebooted and now I’m stuck with alternating lakka berry and black screen flicker.

EDIT: systemctl stop retroarch (as I can still SSH to it obviously) stops the flickering, but systemctl start retroarch just restarts the flicker, doesn’t start up as normal anymore :frowning:

EDIT: change if back to “udev” in retroarch,cfg and systemctl start retroarch starts it back up… I guess I’m not trying that linuxraw then :stuck_out_tongue:

EDIT: That btw stopped ALL controllers from working anymore… I guess I need to find out where that joypad settings is on change that also back to udev…

EDIT: changed that back, everything is back to “normal”, ie Xbox360 pads work, but Dualshock repeats like crazy. Tried changing BT sticks in order to rule out bad BT controller. No change (other than having to pair the controller again. Only paired one this time, so no possibility of multiple controllers messing things up).

Are you comfortable purging your retroarch.cfg file? If you are, try that and let them autoconfig again.

I’ve resolved some DS4 issues that way.

I did asked around IRC and got a reply:

[22:19] <gouchi> AnttiV: can you check in /tmp/joypads/udev to rename dualschock 4 cfg file and try to rebind your DS4 ?

I moved all the Dualshock4* files to another folder and reconnected the controller. Obviously it didn’t work then, but once I manually remapped all the buttons the controller now works as it should. I have no idea why the autoconfig makes it repeat like crazy.

For what it’s worth, here’s how my /storage/joypads/udev/Wireless Controller.cfg looks after manually configuring the DS4:

input_driver = "udev"
input_device = "Wireless Controller"
input_vendor_id = "2578"
input_product_id = "1"
input_b_btn = "0"
input_y_btn = "3"
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 = "1"
input_x_btn = "2"
input_l_btn = "4"
input_r_btn = "5"
input_l2_btn = "6"
input_r2_btn = "7"
input_l3_btn = "11"
input_r3_btn = "12"
input_r2_axis = "+2"
input_r3_axis = "+5"
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 = "+3"
input_r_x_minus_axis = "-3"
input_r_y_plus_axis = "+4"
input_r_y_minus_axis = "-4"

EDIT: Messed up a couple of buttons, now fixed.

1 Like

Worked great! Thanks

Add:

input_menu_toggle_btn = "10"

to that file to get a functioning PS-button.

Are you guys using the new DS4? The one with a lightbar on the touchpad? Maybe lakka is having issues diferentiating between the new and old DS4s

From Lakka’s News Page:

Known issues DualShock 4 input bugs on some controllers Keyboard input bug on Parallel-N64 on PC Parallel-N64 crashes on PC 32bit Animated background and audio issues in Shared Context mode (with Dolphin) Typing Wi-Fi password with a keyboard on RPi is broken, use a joypad instead

Might be the case. At least I’m using the new V2’s.

I’m having the same problem but this fix listed here didn’t work. In fact, I couldn’t get the ds4 to pair unless it was in linuxraw. In udev it kept saying paired yes paired no. But it wouldn’t work right when it was paired. And sometimes not at all.

My launch DS4 (CUH-ZCT1U) had issues after updating to Lakka 2.1.1, this is the configuration I have now that works (and does not match the current autoconfig profiles). I guess that with Dualshock 4’s YMMV.

input_driver = "udev"
input_device = "Wireless Controller" (for bluetooth)
             = "Sony Computer Entertainment Wireless Controller" (for USB)
input_vendor_id = "1356"
input_product_id = "1476"
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"

For what it’s worth, I calmed my DualShock 4 down by disabling “Autoconfig Enable” under Settings -> Input and, with the help of a USB keyboard to navigate, manually remapping every button myself under “Input User 1 Binds” (after which I selected “User 1 Save Autoconfig” in that same submenu). I also backed out once and disabled “All Users Control Menu” to be sure.

As for using the PS button to activate the in-game menu. I simply entered Settings -> Input -> Input Hotkey Binds and remapped “Menu toggle” to it (it will always be the very last entry in that menu, so just scroll all the way down. It picked up my PS button just fine without any extra configuration)

Hi @GigaCat. Does your saved autoconfig file look like mine (previous post)?

I’m having the same problem with my DS4 v2 (CUH-ZCT2U) with Lakka 2.1.1. If I connect only the keyboard, it works fine, as soon as I connect the DS4 I can’t use neither. I have to turn off the DS4 for being able to use the keyboard.

Tried both cfgs and same results. Maybe I’m doing something wrong, I have 0 experience. This is what I’m doing:

  1. Turn on the RPi
  2. Connect only the keyboard
  3. Turn off autoconfig
  4. Add the “Wireless Controller.cfg” into “/storage/joypads/udev”
  5. Reboot and disconnect keyboard
  6. Connect DS4 and same problem.

I’m doing something wrong? Is there anyway to downgrade Lakka version? v2.1 was working fine

EDIT: Downgrade (I put the 2.1 image in the .update folder) and the same thing is happening.

I’m pretty much at the end of my rope with lakka and libretro. 2 releases and they still haven’t fixed this issue, much less addressed it.

I’ve tried configuring the dualshock 4 with both a 3b+ and a regular 3b and I still get this repeating issue. Dualshock 4’s are literally unusable. I’ve tried via wire and via bluetooth. I’ve purged my retroarch.cfg file multiple times, tried different ds4 controllers. Tried everything, it’s pretty much broken at this point and nothing is being done to fix it.

You’ve tried disabling autoconfiguration and manually mapping in settings > input > p1 input binds?

Yes. The problem starts even before you get to there. Once I plug in a ds4, my keyboard stops working and I can’t get to the menu to reconfigure the controls, and the manual mapping doesn’t respond to button presses.

1 Like

Hi guys, same issue here! Any updates on it ? I’m using PS4 Model CUH-ZCT2U. I I can pair and connect my PS4 controller, but arrow keys (up and down) do not work. Right and left arrows do work, but they work in kinda of “burst mode”. It seems that the keys sensitivity is too high. Also, when the wireless controller is on, the usb attached joypad stops working. I appreciate any help