Ryochan7 / DS4Windows

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

Feature Request: Joystick Rapid Reset Improved Accuracy #3017

Open RedFr4me opened 1 year ago

RedFr4me commented 1 year ago

Hey, I was thinking about this idea of a way to prevent controller inputs while the joystick is coming back to the center. For example, image you're turning your car in Rocket League, if you turn all the way left and release the joystick it will keep reporting left while getting back to the center, wouldn't it be possible using an algorithm to detect that the joystick has been released and instead of reporting left it reports nothing (like if the joystick was in the center). This would make the movements way sharper, similar to the rapid trigger functionality that wooting has: https://www.youtube.com/watch?t=34&v=VdcRnogenLY&feature=youtu.be

If the joystick is coming back in the center position for more than (ms) disable the input until it get's back to the center or until it changes direction (user input). I believe that this would be fairly easy to implement and could bring a lot of value to DS4.

I believe that this could also be beneficial for any other game, character movement and maybe aiming sometimes.

@Ryochan7 🙏

Kanuan commented 1 year ago

Already implemented. Anti-snapback in the sticks settings. It's just poorly documented on its usage, but it works if properly configured.

RedFr4me commented 1 year ago

Already implemented. Anti-snapback in the sticks settings. It's just poorly documented on its usage, but it works if properly configured.

Hey, are you sure about that? I'm wondering if you fully understood the idea

RedFr4me commented 1 year ago

Screenshot_66

Imagine that I release the joystick, while coming back to the center it will report all those red inputs to the game, so it keeps turning left while getting back to the center position. The idea would be to use an algorithm to detect the first few inputs of the stick coming back to the center and try to remove at least 70% or more of the red inputs.

Kanuan commented 1 year ago

Oh, yeah, sorry. I've read it quickly and thought you meant something else

RedFr4me commented 1 year ago

No worries at all man, I could have explained it better for sure.

tggachilles commented 1 year ago

i have actually done this with a cronus max on console with siege and the extra accuracy your thinking off is definitely there.

making small flicks is much easier because your aim stops moving the second the sticks value in the current frame is less than the sticks value in the previous frame but it was really stuttery and nasty.

but i think the reason it was so stuttery was because cronus represents the analog sticks in ints going from -100 to 100 and the resolution at least for stuff you code your self isnt there. if you put this in ds4w with the sticks full range it would a valuable addition

and its not an algorithm its literally just checking if the magnitude of a stick axis value the last frame, is less than the stick axis value the current frame, if so set it to 0, if it is greater than the previous frame it equals its normal value

RedFr4me commented 1 year ago

Thank you for sharing your experience with us! I can only imagine how good it could be for rocket league!