It sounds like you've already read the build guide section on this, so you've probably already seen the rationale explained there, but I guess it bears repeating. I know that it always seems like a good thing when there's another "optimization" you can run. But Windows joystick calibration is for joysticks, not for accelerometers. It does completely the wrong thing with accelerometers. It's not an optimization - it makes a mess of the data input.
The function of the Windows calibration is to find the extremes of the joystick deflection on each axis and make sure that the joystick covers that full range, by artificially multiplying the inputs by a scaling factor determined during calibration. This doesn't work well with accelerometers because it's not possible to smoothly move the accelerometer over its range during calibration, the way the calibration tool asks you to do. Virtually 100% of the time, you'll end up with a calibration factor that's too high, which forces the joystick into clipping (think of an audio amplifier being overdriven - same thing), which loses information. Not only that, but the WIndows calibration applies different factors on the positive and negative sides of each axis, so not only will you force the accelerometer past its limits with the calibration, you'll do so asymmetrically, so that you get inconsistent readings left/right and forward/back. The combination of over-amplification and the asymmetrical amplification makes the readings erratic and non-linear. WITHOUT the Windows calibration, the readings will be perfectly linear with respect to the actual physical acceleration.
If that's not enough for you, the Windows calibration also tries to detect the zero point, and its estimation of that is ALWAYS wrong, because an accelerometer never sits exactly still long enough for the calibration tool to get a fix on the zero point. It wouldn't matter even if it could get a good fix on the zero point, which it can't, because the zero point for an accelerometer naturally drifts a little over time due to small changes in the position of the cab in space. The Windows calibration just picks a (wrong) point and then locks it in forever in your registry settings. This will give the joystick input to Windows a constant bias that will make it seem like every table you play is set up with a short leg, tilted a bit left or right. The Pinscape software has its own auto-zeroing that it does constantly, and correctly (since it knows it's dealing with an accelerometer rather than a joystick). That compensates automatically for little changes in your cab's position in space over time, as you bump and move the cabinet. As long as you don't have Windows try to throw in its own bad data into the mix, the auto-zeroing keeps it perfectly centered when the machine is at rest.
(Note that VP has its own way of multiplying the joystick axis input by an amplification/attenuation factor, which it calls the GAIN. You can find this setting in the VP keyboard/joystick setup dialog. That one is actually useful, because it puts the gain factor directly under your control, and it applies it uniformly across the whole axis, positive and negative. The gain factor lets you adjust the proportional strength of the acceleration response within the VP simulation. DO adjust that to get the strength of the response to your liking.)
Edited by mjr, 25 February 2023 - 07:04 PM.