- Home /
Saitek X52 Axis Limitations
Hello community,
I have a slight issue developing my flight simulator for unity. I'm using a Saitek X52 (Basic) as my test bed for the project and for some unusual reason the only input unity is giving back to me is a -1, 0, 1. Which makes it hard to precisely identify the throttle position.
I've tried changing the sensitivity as suggested in other posts. I've attempted using Input.GetAxisRaw but the results are the same.
If anyone has any guidance or advice on the related issue I would much appreciate it as it is currently holding me back and I'm at a point where I can't progress without properly working axis controls.
Are you outputting that information as Debug.Log(joystick), where joystick is a Vector3? Try: Debug.Log(string.Format("X: {0}, Y: {1}, Z {2}, joystick.x, joystick.y, joystick.z); Debug.Log() doesn't play nice, unless you break the values up.
The next potential problem you will find is lag, where the response is over 1 second longer to your joystick movements. A simple solution to this is to delete the Saitek drivers as they don't play nice with unity. Alternatively Rewired could be a suitable alternative. There is a free demo, which I have yet to try as I also have a Saitek X52.
Answer by tezz311 · Dec 04, 2015 at 04:06 PM
Thanks for the reply, I tried the solution you suggested and I've managed to get the input to pick up values between absolute -1,0,1 I just had to adjust the sensitivity on the axis to 0.01. with that said the I'm currenty clamped between those values. which for a throtle axis which should only have at least zero or one it's a whole new issue all together.
Use the Add Comment to reply, don't reply as an answer unless you have an answer.
$$anonymous$$aybe these settings will help.
Throttle actually reflects to the scroll wheel around the i button and roll reflects the wheel around the E button both on the throttle. But worked Ok on the Saitek Cyborg, so be aware different sticks have different assignments for buttons.
Its been a while since I dealt with throttle and I havent spend any time reconfiguring to use the X52, but this worked for me.
value = ((value + 1) / 2.0f); //Adjust for Positive Throttle Range (Throttle up)
value = (-(value + 1) / 2.0f) + 1.0f; //Adjust for Negative Throttle Range (Throttle down)
Hope it helps, good luck.