KY-023 joystick range is very different from original. What should I do?

I recently bought 4, KY-023 joysticks from 2 different sellers. But all of them shows wrong ranges. For ex: at the middle position x and y readings both are 3100. X values change from 0 to 3100 and 3100 to 2766 or something. Y is the same. SW value only changes when x and y goes to zero. When button is pushed SW value does not change.

X vales

Leftmost = 0
Middle = 3100
Rightmost = 2766

Correct values should be 0 to 512 to 1023. What is happenning? What can i do?
I am using a Uno board

How are you connecting it, and what code are you using?

You probably just need to calibrate them by setting a min and max reading for each axis.