Forums » Bugs
Joystick Calibration (I know there's a sticky)
The sticky closes with a question unanswered from 4/12, so I'm hoping to get traction in a new thread. New player to the game, fairly technically adapt and willing to google.
I'm on a windows box with a Logtech E3D pro joystick. It was too jerky to aim with when I first started. The game didn't seem to have any calibration screen on the client, only axis bindings. I then went into the Logitech controller software, and dialed their sensitivity down (really low); the game seemed to ignore the utility. At that point I started foruming, and found a lot of talk about config.ini, and a calibration screen that at this point I believe only lives in the Linux client. Can someone explain the Min/Max Saturation values in conjunction with the dead zones? The only example given in the thread is an extremely oversensitive value set; I'm looking for something with very low sensitivity. At this point I maxed both values at 100/-100, and dialed my deadzone down to a 2/-2 (assuming percent here).
I don't completely follow how the negative value in the pair plays in. If someone could either explain that, or give me some ballpark overly sensitive values, I can tweak it from there.
I'm on a windows box with a Logtech E3D pro joystick. It was too jerky to aim with when I first started. The game didn't seem to have any calibration screen on the client, only axis bindings. I then went into the Logitech controller software, and dialed their sensitivity down (really low); the game seemed to ignore the utility. At that point I started foruming, and found a lot of talk about config.ini, and a calibration screen that at this point I believe only lives in the Linux client. Can someone explain the Min/Max Saturation values in conjunction with the dead zones? The only example given in the thread is an extremely oversensitive value set; I'm looking for something with very low sensitivity. At this point I maxed both values at 100/-100, and dialed my deadzone down to a 2/-2 (assuming percent here).
I don't completely follow how the negative value in the pair plays in. If someone could either explain that, or give me some ballpark overly sensitive values, I can tweak it from there.
Yeah for some reason the game devs thought leaving out the calibration parts on Windows was a good idea, since Windows has a rudimentary calibration tool in the control panel. Mac, Linux, and Android all have it.
Saturation is the opposite of the dead zone. If the joystick range goes above that point, it's considered "maxed out."
When your stick axis is centered, it's assumed to be at zero. Moving the axis one way is the positive range, the other way is the negative range.
Also, keep in mind it's not set in percentages, but raw values from the joystick or joystick driver. If your stick goes from -32767 to +32767, you don't want your saturation values to be +/- 100
Saturation is the opposite of the dead zone. If the joystick range goes above that point, it's considered "maxed out."
When your stick axis is centered, it's assumed to be at zero. Moving the axis one way is the positive range, the other way is the negative range.
Also, keep in mind it's not set in percentages, but raw values from the joystick or joystick driver. If your stick goes from -32767 to +32767, you don't want your saturation values to be +/- 100
You are the damn man, thanks for the fast reply! Any clue how I can get a scale on what my joystick is outputting? Is there a way to read it on the game console or similar?
If I'm following this right, and we assume my joystick goes to 1000 (keeping the math simple): having a +/- 2000 saturation would mean that at full tilt, it was outputting 50% to VO?
If I'm following this right, and we assume my joystick goes to 1000 (keeping the math simple): having a +/- 2000 saturation would mean that at full tilt, it was outputting 50% to VO?
No, more like this. Assume this line represents your joystick's X axis:
-1000 [----|--------------|0|--------------|----] +1000
Saturation here is the two marks near the outside of the scale, near +/- 900 Anything above 900 or below -900 gets clamped to 1000 or -1000 respectively
Dead zone is the two marks near the 0. You want the dead zone to be as small as possible without your stick moving the ship on its own.
-1000 [----|--------------|0|--------------|----] +1000
Saturation here is the two marks near the outside of the scale, near +/- 900 Anything above 900 or below -900 gets clamped to 1000 or -1000 respectively
Dead zone is the two marks near the 0. You want the dead zone to be as small as possible without your stick moving the ship on its own.
"Is there a way to read it on the game console or similar? "
You can press the backtick (`) key (which you may know as the tilde (~) key, but don't press shift) while in game to open the console, as long as you aren't in a text-input. Within the console, you can run the following command:
/lua print(joystick.GetJoystickSingleAxisValue(0, 1))
That will print the current value of the first axis of the first joystick. The first number in that command is the ID of the joystick (you should be able to get that out of the config.ini file). The second number is the ID of the axis you want to read.
You can press the backtick (`) key (which you may know as the tilde (~) key, but don't press shift) while in game to open the console, as long as you aren't in a text-input. Within the console, you can run the following command:
/lua print(joystick.GetJoystickSingleAxisValue(0, 1))
That will print the current value of the first axis of the first joystick. The first number in that command is the ID of the joystick (you should be able to get that out of the config.ini file). The second number is the ID of the axis you want to read.
@abortretryfail Loving it, I think I almost understand the Saturation. Assuming the above example, where we've set saturation to 900 of 1000, which of the following is true?
A) The saturation and deadzone are "falloffs" in which input is treated as max value. When my stick is 70% tilted, it reports 700 (70%) to VO. When my stick is 91% tilted, it reports 1000 (100%) to VO.
B) The saturation and deadzone set our scale. When my stick is 70% tilted, it reports 630 (63%) to VO. When my stick is 91% tilted, it reports 819 (81.9%) to VO.
C) Learn to play with the mouse.
@Pizzasgood, now I can get a scale for this thing! "A man with a thermometer always knows the temperature. A man with two thermometers, not so sure."
A) The saturation and deadzone are "falloffs" in which input is treated as max value. When my stick is 70% tilted, it reports 700 (70%) to VO. When my stick is 91% tilted, it reports 1000 (100%) to VO.
B) The saturation and deadzone set our scale. When my stick is 70% tilted, it reports 630 (63%) to VO. When my stick is 91% tilted, it reports 819 (81.9%) to VO.
C) Learn to play with the mouse.
@Pizzasgood, now I can get a scale for this thing! "A man with a thermometer always knows the temperature. A man with two thermometers, not so sure."
I don't know if it just clamps values or adjusts the response curve across the entire range. It'd be nice if it was option B, but only the game devs could answer that for sure.
Hmm, now I think about it, I don't know whether that command I posted gives the raw value or the post-calibration value. In hindsight, I suspect the latter.