Ryochan7 / DS4Windows

Like those other ds4tools, but sexier
https://ryochan7.github.io/ds4windows-site/
GNU General Public License v3.0
6.94k stars 807 forks source link

Proper way to convert joystick to 4 way dpad? #1484

Closed alpharou closed 4 years ago

alpharou commented 4 years ago

I need to emulate an exclusive 4 way input, and this is the best I could manage tinkering with the stick settings:

DeadZone: 0.95 maxzone 1.0 AntiDeadZone 0.0 MaxOutput 1.0 Sensitivity 0.5 Output curve Linear Square Stick Off CurveInput 100%

It somewhat works, but sometimes it jitters, triggers many times a second, and trigger two directions. Any suggestions?

mika-n commented 4 years ago

There are several ways to do analog LS/RS -> digital Dpad mapping. Here is one way I have found to work pretty well. The idea is

DS4Win_DPadLSMapping

alpharou commented 4 years ago

There are several ways to do analog LS/RS -> digital Dpad mapping. Here is one way I have found to work pretty well. The idea is

  • Set "big enough, but NOT TOO BIG" deadzone to avoid accidental digital triggerin (because LS/RS is never completely stable in hardware level), but leaving...

I appreciate the reply, but this approach will create an 8 way dpad, and I'm looking to completely remove the diagonals.

That said, I think the custom output curve could come in very handy, thanks.

mika-n commented 4 years ago

Aaah. Missed that part of the requirement (ie. to not send out diagonal btn directions at all). Maybe insanely big square stick option makes the diagonal direction a bit more "difficult" to reach. But it might be very difficult to eliminate diagonal directions of LS/RS completely with the current mapping routines in DS4Windows.

Ryochan7 commented 4 years ago

There is no way to use a joystick as a 4 way dpad in the mapping routine. That has not been a strict requirement and I have had no use for such a feature. Such a feature would be easier to pull off with the current code than implementing an 8 way control dpad mode for use in Rougelike games. If nothing else, some type of overlap setting could be applied that would change the designated angles for each direction button.

alpharou commented 4 years ago

Ok, I understand.

That said, the configuration I posted initially seems to work, at least for my case.