pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

[BUG]: Deadzone shouldn't be applied to axes independently

Open niconii opened this issue 2 years ago • 2 comments

Describe the Bug

The deadzone should be a circular region at the center of the analog stick. However, the X axis and Y axis of the analog stick are handled independently, meaning that, for example, (-0.1, 0.9) snaps to (0.0, 0.9) because the Y axis is not taken into account.

2022-07-26-141702_maim

As illustrated in the left picture, it's expected that when the analog stick coordinates fall within the deadzone (the gray area), it should snap to the black point at the center. However, currently the deadzone is implemented like the right picture where, if the coordinates fall within the orange area, the X coordinate snaps to the orange line, and if they fall within the cyan area, the Y coordinate snaps to the cyan line.

This is a problem if you want to move at a slight angle from one of the cardinal directions, because the direction will snap to an exact cardinal direction instead. Of course, there could be some situations where this is useful, like the "virtual notches" feature in Dolphin, but this doesn't fit the normal expectations of what a "deadzone" is.

Reproduction Steps

In Settings -> Controllers, choose Controller Port 1, then set "Analog Deadzone" to a non-zero value. Setting it to a high value like 80% makes the problem especially obvious, since it will be almost impossible to move diagonally in games.

Expected Behavior

As explained above, the deadzone should be a circular region that snaps the analog stick coordinates to a single center point.

PCSX2 Revision

v1.7.3114

Operating System

Linux (64bit) - Specify Distro Below

If Linux - Specify Distro

Arch Linux

niconii avatar Jul 26 '22 19:07 niconii

@niconii Do you happen to be on a Steam Deck? I saw Arch and I had to ask

acparker18 avatar Jul 28 '22 01:07 acparker18

@acparker18 Nope, desktop PC.

niconii avatar Jul 28 '22 02:07 niconii

Try https://github.com/PCSX2/pcsx2/pull/7201, it should address what you're asking for if I've understood it correctly.

stenzek avatar Oct 15 '22 12:10 stenzek

Yes, it does seem to be fixed now. Thank you!

niconii avatar Oct 15 '22 18:10 niconii