Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DualSense analog triggers unresponsive in Android RetroArch, PS4 controllers unaffected #16791

Open
davidhedlund opened this issue Jul 18, 2024 · 1 comment

Comments

@davidhedlund
Copy link
Contributor

davidhedlund commented Jul 18, 2024

Description

The Sony DualSense controller's analog triggers (L2/R2) are non-functional in RetroArch for Android. This issue affects pressure-sensitive controls in games and the Remote RetroPad feature. The analog trigger values should range from -10 to +10, but no input is registered regardless of configuration attempts. This problem is specific to the DualSense and does not occur with PS4 controllers.

Expected Behavior

  • Analog triggers should provide pressure-sensitive input
  • Values should range from -10 to +10
  • Input should be recognized in Remote RetroPad

Actual Behavior

  • No input is registered from analog triggers
  • Issue persists across various configuration attempts
  • Problem affects gameplay and testing tools

Steps to Reproduce

Pre-testing:

  1. Test the L2/R2 triggers in any gamepad testing app outside of RetroArch
  2. Confirm that the analog triggers function correctly in these tests
  3. This verification establishes that the issue is specific to RetroArch and not a hardware problem

RetroArch testing:

  1. Modify the autoconfig file (found in ~/.var/app/org.libretro.RetroArch/config/retroarch/autoconfig/)
  2. Change L2/R2 configuration from buttons to axes:
input_l2_axis = "+1"
input_r2_axis = "+2"
  1. Restart RetroArch and test using "Start Remote RetroPad"
  2. Repeat with different axis values (both positive and negative)

PS4 controller (control)

This section demonstrates that Remote RetroPad is working with L2/R2 analog pressure testing in Android.

RetroArch testing.

  1. Plug a Data Frog P02 controller (a PS4 v1-like controller)
  2. Test the L2/R2 triggers in any gamepad testing app. They are working.
  3. Use the provided autoconfig: https://github.com/libretro/retroarch-joypad-autoconfig/pull/1134/files -- don't forget to enable it by uncomment input_vendor_id and input_product_id
  4. Restart RetroArch and test the analog trigger using "Start Remote RetroPad"
  5. The rectangles on L2/R2 should indicate that they are working

Additional Information

  • Tested axis values from -10 to +10
  • Issue persists across RetroArch restarts
  • May be related to RetroArch's handling of mixed input types

Version Information

  • RetroArch: 1.19.1
  • OS: Android

Hardware

Sony DualSense Wireless Controller

Notes

  • Affects games relying on analog triggers (e.g., GameCube, Dreamcast)
  • Problem likely related to RetroArch's input handling, not specific cores
  • Manual configuration attempts have been unsuccessful
@davidhedlund davidhedlund changed the title Analog triggers not functioning in retroarch for android DualSense: Analog triggers not functioning in retroarch for android Jul 19, 2024
@davidhedlund davidhedlund changed the title DualSense: Analog triggers not functioning in retroarch for android DualSense analog triggers unresponsive in Android RetroArch, PS4 controllers unaffected Jul 19, 2024
@davidhedlund
Copy link
Contributor Author

Affected Systems and Games

Sega Dreamcast (L/R analog triggers):

  • Virtua Tennis: Shot power
  • Sega GT: Acceleration and braking
  • Crazy Taxi: Acceleration and braking
  • Soulcalibur: Blocking (light press) and guard impact (full press)
  • Jet Set Radio: Pressure-sensitive graffiti spraying
  • Shenmue: Various mini-games and quick-time events
  • F355 Challenge: Acceleration and braking

Nintendo GameCube (L/R analog triggers):

  • Super Smash Bros. Melee: Light shielding (partial press) and full shielding (full press)
  • F-Zero GX: Precision acceleration and braking control
  • Metroid Prime (L trigger only): Targeting and free-view functions

"1-P Mode -> Training" mode in Super Smash Bros. Melee is an easy way to evaluate the trigger buttons without getting disturbed.

Quick settings

  • Controls -> Port 1 Controls -> Device type -- change from "RetroPad" to "RetroPad with Analog"
  • Set "L1 (Auto)" from "L" to "---"
  • Set "R1 (Auto)" from "L" to "---"
  • Set "L2 (Auto)" from "---" to "L"
  • Set "R2 (Auto)" from "---" to "R"
  • Manage Remap Files -> Save Core Remap File
  • Main Menu -> Quit -- needed to save the settings

davidhedlund added a commit to davidhedlund/retroarch-joypad-autoconfig that referenced this issue Jul 20, 2024
# RetroArch's in-app feature to create analog triggers (input_l2_axis, and input_r2_axis) for the autoconfig files is flawed (libretro/RetroArch#6920) 
# While manual changes are typically possible, they don't work for DualSense controllers on Android, where the analog triggers remain unresponsive. PS4 controllers, however, are unaffected (libretro/RetroArch#16791).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant