Why would my Axis mapping firing when I am not moving?

As I understand it, an Axis is simply polling the state of the axis each tick.

So Move Forward and Move Right are polling their current value and simply returning a value of 0 (i.e. no movement).

Although I don’t think you can stop an axis polling, you could have a ‘Last Recorded Value’ variable and then check this against the polled value, then only continue if the polled value is different to the last stored one (i.e. something has changed).