I modified my fighter stick by placing tension bands over the return spring yokes. This effectively locks the stick to center allowing finger or wrist motion small movements. But, how do you translate those small movements into large game movements?
You shorten the ends of the calibration line in your x,y lines of your joystick.jsm file. At which point you don't really need to calibrate anymore. Any problems will then be USB bus resets or your pots are going bad.
From my jsm file years ago when I used to calibrate inside of the game for my Fighterstick and had big sloppy movements:
255 - far left throw or, all the way pulled back.
32767 - center
65535 - far right throw or, all the way pushed forward.
X Axis
255,32767,65535,0.000000,0.000000,0.250000
AXIS,ROLL,0,0
AXIS,ROLL,0,0
NOTUSED,NOTUSED,0,0
NOTUSED,NOTUSED,0,0
Y Axis
255,32767,65535,0.000000,0.000000,0.250000
AXIS,PITCH,0,0
AXIS,PITCH,0,0
NOTUSED,NOTUSED,0,0
NOTUSED,NOTUSED,0,0
Modified by shortening the ends of the throw by 16,000 to allow a short throw with wrist movement only after adding tension bands to the spring yokes. Yes you can just move your stick in shorter throws in all four directions but, your results wont be very precise.
X Axis
16547,32767,48987,0.016000,0.128000,0.250000
AXIS,ROLL,0,1
0.64,0.68,0.81,0.91,1.00,1.00,1.00,1.00,1.00,1.00
AXIS,ROLL,0,0
AXIS,ROLL,0,1
0.62,0.66,0.72,0.83,0.96,1.00,1.00,1.00,1.00,1.00
NOTUSED,NOTUSED,0,0
Y Axis
16559,32767,48975,0.000000,0.096000,0.250000
AXIS,PITCH,0,1
0.46,0.46,0.50,0.56,0.67,0.79,0.92,1.00,1.00,1.00
AXIS,PITCH,0,0
AXIS,PITCH,0,1
0.60,0.61,0.64,0.68,0.78,0.88,1.00,0.99,1.00,1.0
You do have to compensate the ability to perform a full deflection movement with a short wrist motion by using scaling to calibrate the length of your shortened axis movement. Otherwise, your spit16 is always flipped on it's back or stalled out and useless. But, you can get some very precise small correction movements when zoomed for gunnery.