different behaviour of axis using xbox360 controller

I tried moving a cube to the values of “Horizontal” and “Vertical”, and it worked with the standard settings. But the movement seemed to be restricted by a circle, while key input is restricted by a square.

I then changed the settings in the “key axis” to accept controller input and deleted the preset “controller axis”. The result was a square restriction.

My question is why? I don’t see any setting that could have this effect.

Thanks for the help

P.S: I really didn’t know how to put this in one sentence for the headline. Sorry for the mess

It’s a design choice. You have circle with radius = 1, so you are getting a vector with a max. length of 1 in all directions. If you push the stick into a ‘corner’ you will get a vector like (~0.7, ~0.7) which has the length 1.

There a some gamepads and joysticks who will report (1, 1) in a corner, so depending on your application you may need to check for that.

The reason you are seeing a different behavior, if you change the predefined keyboard axes to joystick input, is that the sensitivity setting is pushing the real value towards the target value of +/- 1. For joysticks the default value is 1, but for keyboard it is 3. So you reach +/- 1 already with one third of movement with your stick.