Hi,
getting the speed should be done outside MoveTowards, there is a GetGameObjectSpeed on the Ecosystem. You should use this.
simulating key pressed is your call within your fsm, since you are using an action to get the axis, nothing prevents you to set the value yourself inside the result variable.
Bye,
Jean