Left Stick [GamePad] has only 8 directions

Hello everyone, I have using OnScreenStick to make virtual Joystick for mobile game.
I add game pad LeftStick to the ControlPath:
6981872--823802--upload_2021-3-28_4-9-28.png
No, how I understand, OnScreenStick will emulate game pad left stick.

Then in the inputactions asset, I added this bindings:

Also Movement has this properties:
6981872--823808--upload_2021-3-28_4-19-36.png

I generated GameInput class from inputactions asset.

private GameInput _gameInput;

void Awake()
{
   _gameInput = new GameInput();
   _gameInput.Player.Enable();
}

void Update()
{
   Vector2 gamePadAxis = _gameInput.Player.Movement.ReadValue<Vector2>();
   _player.SetDirection(gamePadAxis);
}

Now, when I move OnScreenStick, player rotate only by 45 degrees, 8 directions.
How can I make it rotate in the full 0-360 range angles?

P.S. I found some interesting thing. If I get xy values by this method. I get angles in the full range, but still has little dead zones in the angles 0, 90, 180, 270
But, why code above is round angles by 45 degrees?

    void Update()
    {
        float a = 0;
  
        Vector2Control control = stick.control as Vector2Control;

        a = Mathf.Atan2(control.y.ReadValue(), control.x.ReadValue()) / Mathf.PI * 360f;
  
        Debug.Log(a);
    }

Fixed, just add 2D Vector binding instead of Left Stick, and set mode to Analog