Ignore Xbox 360 controller joystick when it re-centers (returns to 0),Xbox 360 joystick input returning to 0

In my FPS game, I am trying to move a crosshair with my right joystick. The problem I am running into is that the read input of the joystick always returns to 0 when the it re-centers. I want the crosshair to move as I move the joystick and then stop when I release it, and not go back (snap) to the center of the screen or where the movement started. I am currently used Input.GetAxis(“Horizontal”).

I believe lots of games do this with their cameras and crosshairs. the game reads the joystick input when moving but then ignore it when returning to center. Below is my Code

void Update () {

        float hAxis = Input.GetAxisRaw("AimJoystickHorizontal");
        float vAxis = Input.GetAxisRaw("AimJoystickVertical");

Vector2 stickInput = new Vector2(vAxis * 30, hAxis * 30); 
 // Here, I am just trying to formulate a good deadzone value     
 if (stickInput.magnitude < deadzone)
            stickInput = Vector2.zero;
        else
            stickInput = stickInput.normalized * ((stickInput.magnitude - deadzone) / (1 - deadzone));

 Rotation = Quaternion.Euler(stickInput.x, stickInput.y, 0);

//This is How I transform the crosshair
crosshair.transform.position = cameraFacing.transform.position +
            cameraFacing.transform.rotation * Rotation * Vector3.forward * distance ;

Check out the settings for the Horizontal axis input in InputManager. Unity - Manual: Input Manager

Try playing with Gravity, Sensitivity, and Dead. Most notably, Gravity will allow you to increase the snappiness, or how quickly the axis value will return to zero.