libretro / LRPS2

GNU General Public License v2.0
159 stars 47 forks source link

Poor analog sensitivity for Xbox controllers and dualshock/dualsense #158

Open BParks21 opened 2 years ago

BParks21 commented 2 years ago

PCSX2 version: Any

PCSX2 options: I don't believe dead zone is configurable in the core options.

Description of the issue: Moving the stick diagonally with any of these controllers causes the controllable character to walk instead of run. Examples: Star Ocean Till The End of Time and Kingdom Hearts. Dead zone works correctly for these controllers in Standalone.

How to reproduce the issue: Launch the above mentioned games. Many others exhibit the same issue.

Last known version to work: Never

PC specifications: Windows 10, 8086K, GTX 1080Ti, 32gb DDR4

SeventySixx commented 2 years ago

Hi, thumbsticks dead zones are been added by the PR #168. If your problem is solved, please close this issue.

BParks21 commented 2 years ago

Hi, thumbsticks dead zones are been added by the PR #168. If your problem is solved, please close this issue.

Hmmm tested with multiple values on the left stick for the xbox series x controller. No change. Tested 10, 15, 20, 25 and 50%. Didn't seem to have any effect. Still exactly the same. Ok I tested again and it is having a slight effect. Even at 50% though there are still issues with characters either stutter stepping or walking/running slowly at diagonal directions on the stick. Compared Standalone with Kingdom Hearts 2. At default controller settings there's no stutter stepping or walking with the left stick. Only in RA core even at 50% deadzone.

SeventySixx commented 2 years ago

strange, tested with persona4 (with dualsense) and the dead zones work as intended, also diagonals seems to trigger the switch between walk and run at the right spot.

Also checking with the padtest elf file ( se here: https://www.reddit.com/r/RetroArch/comments/nf7a6d/looking_for_ps2_game_with_rumble_feedback_at/ ) the dead zones work as intended.

Eventually the max value in the settings can be increased, I tough that 50% was enough, but eventually I can update it until 80%

BParks21 commented 2 years ago

Idk I tested Star Ocean Till The End of Time and KH 2. At 50% in both games the character would walk or run slowly with the stick pressed all the way to the edge at certain angles. In both games the character should not start walking at any angle if the stick is pressed all the way to the edge, even at diagonals. It should only happen if the stick is pressed partly before the edge. I'll test the dualsense as well.

SeventySixx commented 2 years ago

ok, thank for the info. we should understand if it's a "game specific" problem or a general problem.

To test gamepads inputs in ps2 emulator the elf file linked in the reddit post above it's very useful:

immagine

SeventySixx commented 2 years ago

just to be sure, under controls settings of game config, check that you have set "none" for "Analog to Digital" . Having this set to "analogs" mess the analog sensitivity

immagine

BParks21 commented 2 years ago

just to be sure, under controls settings of game config, check that you have set "none" for "Analog to Digital" . Having this set to "analogs" mess the analog sensitivity

immagine padtest-210926-194756 padtest-210926-194644

Yes analog to digital is off. I tested with the dualsense as well. I can get characters to walk at very specific diagonals with the stick pressed all the way to the edge in quite a few games with dead zone set to 50%. It's not very obvious or easy to produce you have to try every little micro angle carefully. Regardless it shouldn't happen at all. Something is not right. I tested the elf with the dualsense and series x controller. These were the results. PCSX2 alone does not have this issue at all with any of my controllers. Everything in controller settings is left to default not deviating. None of my steam games, other libretro cores or separate emulators have any issues with the default dead zone. Just this core. You should very carefully and patiently try to reproduce this as it's not obvious. The adjustments to 50% did improve it but has not completely eliminated occasional stutter stepping/walking in a lot of games. It's much harder to produce with dead zone set to 50%. The direction I'm experiencing it the most is almost completely vertical downwards on the left stick, just slightly moved to the right. Some games are more sensitive than others.

SeventySixx commented 2 years ago

ok, thanks for your feedback. I'm going to check with the games you experienced to problems.

BParks21 commented 2 years ago

ok, thanks for your feedback. I'm going to check with the games you experienced to problems.

Ok cool. Like I said at 50% it is rather difficult to trigger any unwanted walking or slow running in KH 2 or Star Ocean.

SeventySixx commented 2 years ago

Sure, this means that the inplemented dead zones do their work at least 😉

However there sould be something wrong at the base with the inputs of the core. I'm going to try without dead zones enabled, of course 👍

BParks21 commented 2 years ago

Yeah, I agree. Ok look forward to hearing what you discover.

mtmrc commented 2 years ago

This seems like an issue with analog sensitivity rather than dead zones. Standalone uses 1.33 by default to compensate for smaller, more circular range of modern controllers, if RA is using 1.00 by default that would cause loss of range on diagonals. You can test by changing sensitivity under Input - Analog Sensitivity.

SeventySixx commented 2 years ago

@mtmrc that's very interesting, thanks for the info. So to solve this issue should be increased the sensitivity between the core scale and libretro scale of the axys. I should check how this can done

BParks21 commented 2 years ago

Update, I tested setting RA's input sensitivity to 1.3 and leaving the newly added core dead zone option to default and can confirm the issue is fixed. It would be nice to be able to set this in the core to override RA's global sensitivity. Or perhaps a default value in the core can be changed to 1.33?

BParks21 commented 2 years ago

Any hope of getting some kind of core specific controller analog sensitivity option?