Ryochan7 / DS4Windows

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

Nintendo switch pro controller drifts in a random direction whenever its connected to ds4windows #3119

Open Tatermaniac opened 1 year ago

Tatermaniac commented 1 year ago

Describe the bug Whenever I connect my nintendo switch pro controller to ds4windows, most of the time one or both sticks will drift in a random direction. It's always one of the eight main directions (up down left right or diagonally), it's still detecting inputs because when its drifting up down left or right i can move the stick a bit but it still always rubs against the "maximum" wall. this happens both wirelessly and wired, although it seems less common when i use it wirelessly. this isnt a hardware problem because when i connect my controller without ds4windows there isnt any drift at all, so i am almost certain its a problem with ds4windows itself

To Reproduce Steps to reproduce the behavior:

  1. Open ds4windows
  2. Connect my nintendo switch pro controller

Expected behavior There should be no drift when the controller is connected

Screenshots and Logs example image of what the drift looks like: image Log: ds4windows_log.txt

Desktop (please complete the following information):

Additional context This started happening a few months ago, where it was much rarer. it got progressively worse until i have to disconnect and reconnect my controller over the course of several minutes before it works properly

Ryochan7 commented 10 months ago

The last changes to stick calibration for the Switch Pro was in version 3.2.12. The current routine takes the first read input for LS and RS and makes that the center point for use in the stick calibration routine. The stick boundaries are adjusted from the stored factory settings based on the initial stick center. The routine works better off for my controller and it still works.

That routine should not affect any Switch Pro that has been calibrated on a Switch console. The raw calibration data is used if a user configuration is found on the device.

Not much to do without the raw data from the Switch Pro reader to work with.