pcsx2
pcsx2 copied to clipboard
[BUG]: Deadzone shouldn't be applied to axes independently
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.
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 Do you happen to be on a Steam Deck? I saw Arch and I had to ask
@acparker18 Nope, desktop PC.
Try https://github.com/PCSX2/pcsx2/pull/7201, it should address what you're asking for if I've understood it correctly.
Yes, it does seem to be fixed now. Thank you!