For example, the player may want to be able to aim precisely in a top down shooter. However, if the player is using a junky controller that has axis-independent deadzones, they will not be able to aim just a few degrees off of top, bottom, left, or right due to deadzones. Is it a good idea to jump through hoops to sense this limitation and compensate for it? Are there any best practices for that?
Here is an example of what I mean by axis independent deadzones:
The red area represents the deadzone. The horizontal red area would give y=0, and the vertical red area would give x = 0.
I imagine that I could find these deadzones if I ask the user to calibrate their gamepad and do a sweep along the perimeter of the joystick. Then I could compensate for them by squashing all values between 0 and (1 or -1) into that grey quadrant. That said, I can see some issues arising with the player performing the calibration sloppily or too quickly, or otherwise sensing the deadzones inaccurately.
Is this a bad idea? Should the player just get a better controller?