[GH-ISSUE #1342] Touchpad Left/Right click detection is under certain circumstances inconsistent #439

Closed
opened 2026-02-27 21:06:18 +03:00 by kerem · 6 comments
Owner

Originally created by @AwesomeSoftware79 on GitHub (Oct 11, 2024).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1342

This problem has been detected in Bloodborne, but it is a general problem with the Touchpad Left/Right click detection of shadps4 and may affect other games.

According to Bloodborne's tutorial, the expected behavior should be:

  • Touchpad Left click: Gestures
  • Touchpad Right click: Personal Effects (aka item shortcut)

image

Testing with the latest build main/dc99d3e and using a Dualsense connected via usb, I was not able to get a consistent behavior. Sometimes it seems to work correctly, but if you press randomly several times with different combinations, it is possible to get the Personal Effects window when pressing the Touchpad Left and Gestures when pressing the Touchpad Right.

This does not match the user's expected behavior.
I tried out the console version of Bloodborne to double check this behavior, and I can confirm that there is a behavior mismatch between the console and the emulator. The console works as expected.

I further analyzed the problem, and I think I understand the underlying cause:
The Dualsense's Touchpad provides two inputs: (a) pressed/not pressed and (b) the relative position of the finger inside the Touchpad's surface. That means that a Touchpad Left Press would be detected in the emulator as a combination of (a) pressed and (b) finger's relative position on the left side of the Touchpad. So my guess is that the emulator detects the click event just fine, but under certain circumstances the finger's relative position is not detected properly by the emulator.

Depending on what you do with your finger on the Touchpad's surface before pressing it, the emulator might not detect the correct finger position or. If the user slides/swipes the Touchpad, the emulator gets enough information to update the finger position and the game gets the expected input. But if the user clicks the Touchpad directly, the emulator does not seem to properly update the finger position and the game does not get the expected input.

In other words:

  • If the user clicks Left, Right, Left, Right... and slide/swipe the finger on the Touchpad continuously, it will work. Here emulator and ps5 behaviors match.
  • If the user clicks Left, Right, Left, Right... directly pressing the Touchpad without sliding/swiping the finger, that means the touch sensor does not get any intermediate values, the emulator does not update the finger's position and the wrong input is detected (i.e. left touchpad pressed but right touchpad detected). This case just works fine in the console version, and is inconsistent in the emulator.

The Touchpad click detection should be improved to match the console's behavior, that means, direct clicks without previous finger sliding/swiping should be correctly interpretated.

Links:

Originally created by @AwesomeSoftware79 on GitHub (Oct 11, 2024). Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1342 This problem has been detected in Bloodborne, but it is a general problem with the Touchpad Left/Right click detection of shadps4 and may affect other games. According to Bloodborne's tutorial, the expected behavior should be: - Touchpad Left click: Gestures - Touchpad Right click: Personal Effects (aka item shortcut) ![image](https://github.com/user-attachments/assets/4af29f8d-dc27-41c1-ba10-37176d8f7fef) Testing with the latest build main/dc99d3e and using a Dualsense connected via usb, I was not able to get a consistent behavior. Sometimes it seems to work correctly, but if you press randomly several times with different combinations, it is possible to get the Personal Effects window when pressing the Touchpad Left and Gestures when pressing the Touchpad Right. This does not match the user's expected behavior. I tried out the console version of Bloodborne to double check this behavior, and I can confirm that there is a behavior mismatch between the console and the emulator. The console works as expected. I further analyzed the problem, and I think I understand the underlying cause: The Dualsense's Touchpad provides two inputs: (a) pressed/not pressed and (b) the relative position of the finger inside the Touchpad's surface. That means that a Touchpad Left Press would be detected in the emulator as a combination of (a) pressed and (b) finger's relative position on the left side of the Touchpad. So my guess is that the emulator detects the click event just fine, but under certain circumstances the finger's relative position is not detected properly by the emulator. Depending on what you do with your finger on the Touchpad's surface before pressing it, the emulator might not detect the correct finger position or. If the user slides/swipes the Touchpad, the emulator gets enough information to update the finger position and the game gets the expected input. But if the user clicks the Touchpad directly, the emulator does not seem to properly update the finger position and the game does not get the expected input. In other words: - If the user clicks Left, Right, Left, Right... and slide/swipe the finger on the Touchpad continuously, it will work. Here emulator and ps5 behaviors match. - If the user clicks Left, Right, Left, Right... directly pressing the Touchpad without sliding/swiping the finger, that means the touch sensor does not get any intermediate values, the emulator does not update the finger's position and the wrong input is detected (i.e. left touchpad pressed but right touchpad detected). This case just works fine in the console version, and is inconsistent in the emulator. The Touchpad click detection should be improved to match the console's behavior, that means, direct clicks without previous finger sliding/swiping should be correctly interpretated. Links: - Website to test the dualsense inputs on the pc: https://ds.daidr.me/
kerem 2026-02-27 21:06:18 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@Missake212 commented on GitHub (Dec 22, 2024):

Could you try this it again on latest main? I believe this may have been fixed by now

<!-- gh-comment-id:2558592251 --> @Missake212 commented on GitHub (Dec 22, 2024): Could you try this it again on latest main? I believe this may have been fixed by now
Author
Owner

@ZuwasieMan commented on GitHub (Dec 22, 2024):

Could you try this it again on latest main? I believe this may have been fixed by now

Tested on latest main, the issue still persist.
Btw I am the person who raised the ticket originally.

<!-- gh-comment-id:2558621335 --> @ZuwasieMan commented on GitHub (Dec 22, 2024): > Could you try this it again on latest main? I believe this may have been fixed by now Tested on latest main, the issue still persist. Btw I am the person who raised the ticket originally.
Author
Owner

@Missake212 commented on GitHub (Dec 22, 2024):

Yeah you're right, I just tested this on main with my Dualsense and after pressing it for a while my touchpad would only enable the personal effect popup, the emote popup was completely gone weird bug

<!-- gh-comment-id:2558622690 --> @Missake212 commented on GitHub (Dec 22, 2024): Yeah you're right, I just tested this on main with my Dualsense and after pressing it for a while my touchpad would only enable the personal effect popup, the emote popup was completely gone weird bug
Author
Owner

@KrisCris commented on GitHub (Dec 23, 2024):

same issue with the latest build (dfdd819), the touchpad can only bring up the item shortcut no matter which side is pressed. I had seen the gesture menu poped up once, but then all clicks are registered as right pad.

<!-- gh-comment-id:2559877765 --> @KrisCris commented on GitHub (Dec 23, 2024): same issue with the latest build (dfdd819), the touchpad can only bring up the item shortcut no matter which side is pressed. I had seen the gesture menu poped up once, but then all clicks are registered as right pad.
Author
Owner

@sam20112011 commented on GitHub (Jan 2, 2025):

This is not an emulator issue. It's a bug in the game itself from the PS4. I don't know if it was there originally or appeared with updates up to the GOTY edition, but it is. The game somehow reads the touchpad sensor touch and “freezes” the further input presses.

How reproduce the bug: Put left thumb on the left side touchpad (but do not press it) and press right thumb on the right side touchpad. From this moment the whole touchpad will be read as a single button (right side). Unfreeze the input as follows - put the right finger on the right side and press the left finger on the left side. The right side input will be triggered, but subsequent presses on the left side will trigger the left side input.

<!-- gh-comment-id:2567259764 --> @sam20112011 commented on GitHub (Jan 2, 2025): This is not an emulator issue. It's a bug in the game itself from the PS4. I don't know if it was there originally or appeared with updates up to the GOTY edition, but it is. The game somehow reads the touchpad sensor touch and “freezes” the further input presses. How reproduce the bug: Put left thumb on the left side touchpad (but do not press it) and press right thumb on the right side touchpad. From this moment the whole touchpad will be read as a single button (right side). Unfreeze the input as follows - put the right finger on the right side and press the left finger on the left side. The right side input will be triggered, but subsequent presses on the left side will trigger the left side input.
Author
Owner

@Hermiten commented on GitHub (Feb 13, 2025):

I'm closing this one if it's a game bug and not from the emulator.
Also we talk about things like this on this one: https://github.com/shadps4-emu/shadPS4/issues/2340

<!-- gh-comment-id:2657454088 --> @Hermiten commented on GitHub (Feb 13, 2025): I'm closing this one if it's a game bug and not from the emulator. Also we talk about things like this on this one: https://github.com/shadps4-emu/shadPS4/issues/2340
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#439
No description provided.