Get Axis returns positive and negative values, just assign a Positive and Negative key in the Input Manager, call that pref in Get Axis, store it and Add Force/Translate every frame with the Get Axis result for Left and Right.
So you only need a Horizontal Get Axis+Add Force and a Vertical Get Axis+Add Force.
Forward can be handled by Get Axis+Add Force as well, just use it on Z(self) with a another Input.
From what you're explaining it just looks like your stack is overcomplicated to accomplish what you want, unless I'm just misunderstanding.