-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch console unable to calibrate sticks #28
Comments
For specificity, are you comparing the left analog sticks of all 3 steam controllers? Furthermore, the OpenSourceSteamController firmware isn't applying any smoothing or deadzones on the left analog stick; its just mapping the raw ADC values (ranging 0-1024) to a range of 0-128 for each of the left analog stick's X & Y axis (if I read the source code correctly).
Are you using the same firmware on the steam controller to play PC games and Switch games? I never thought of using to like that. If so, Valve might be applying a deadzone by default in Steam's Switch controller support, but that still wouldn't compensate for the one stick that "momentarily jitters upwards when held downwards." I'm under the impression that the Switch Pro controller is recognized as a DirectInput-based gamepad (not Xinput like the xbox controllers). Assuming this is still true with the OpenSteamController firmware, can run the cmd
I'm not familiar with the Switch, but I'm guessing there's serial communication from the switch to the steam controller that isn't getting handled by the steam controller. Under that assumption, capturing the bus traffic may be necessary to make the OpenSourceSteamController firmware comply with the Switch's calibration settings. Since you're using custom firmware on the Steam Controller, it is safe to assume that a "system update" to the Switch is not going to help. |
Yes.
Yes, this shows the controller still behaving the same way plugged into a PC.
No, I use the stock Steam controller firmware to play Steam games, but you are right that Valve applying a deadzone is likely the reason I haven't noticed these issues before.
It jitters all the way up to the edge, in a way that probably would be caught by an outer deadzone.
I agree. Alternatively, a simpler solution may be to implement a deadzone in the firmware. Perhaps doing both of these is ideal. |
All of my questions in the last post were leaning toward "it's a hardware problem", and
makes me think there's a bad connection inside the joystick (symptomatic of a momentary short circuit). I don't know if you tried this, but my first attack would be to spray air from a can at the innards, then (if that fails) look at replacement analog joystick(s) - I've read that actually replacing it on the steam controller is harder than it sounds - because these things are usually the first component to fail on gamepads [wink to my old PS3 controllers that I fixed with a tiny roll of scotch tape to secure its shoddily-designed connections]. While I'm more interested in making the firmware compatible with the Switch's calibration settings (sounds like a great challenge), I can try to point you in good direction for building you custom deadzone solution. Although, I don't want to steal credit from @greggersaurus as he may have a better idea about getting either of those things done. |
I was sure of it, it's just a question of software that remedies hardware problems.
Thanks, I'll try that.
I'd love to contribute but would need to do a bit more research about how gamepad software is implemented, so your advice would be extremely helpful.
It does! Good luck if you try it, it would be very cool to see this working. |
I've just found that this is a duplicate of #4, which was meant to be fixed in ca3a510 using a deadzone just like we suggested. I'll try increasing the size of this deadzone to see if it solves the problem for my controller. Edit: Increasing the deadzone from 128 to 256 partially solved the problem. The stick is now centred while in resting position, whereas before it was behaving like the video in #4. However, it still cannot reach the edge of the ring. I think this could be fixed by adding an outer ring deadzone. |
Of my three Steam controllers, only one has a left stick that works properly with the Switch firmware. One stick is miscalibrated to point slightly downwards when in resting position, and the other momentarily jitters upwards when held downwards. I have not noticed these issues while playing Steam games. The calibration menu in the Switch settings could solve my problems, but it opens a dialogue:
The text was updated successfully, but these errors were encountered: