Implemented gamepad/keyboard agnostic input layer