Like many others I use "secondary mouse" bound to "move forward" rather than "W".
Similar to this thread (http://feedback.arma3.com/view.php?id=6444) when you try to assign JUST secondary mouse to move forward it doesn't work.
Instead you have to bind "HOLD secondary mouse" to make it work.
The problem however is there's a slight delay before this action activates because the engine needs to detect that you're "holding" the button.
As a result if you tap "secondary mouse" your movement isn't recognised at all. In addition it makes small movements (trying to inch forward to look over an edge) rely on a bit of luck to hold the button enough that it's registered, but not enough to shoot you forward a couple of feet.