How to simulate an axis through script?

I am trying to modify someone’s code who had the bright idea of using the Unity built in input manager.

I was able to fix the buttons to my liking, by sifting through a list of strings for the correct binding, but I have no idea what an axis is in the first place, let alone how to create a function to handle a situation in which an axis was used.

Specifically, I need a way to turn “W” and “S” into “forward” and “backward”, and what that would translate into with regards to “GetAxisRaw()”.

I know that it’s a float number, but I have no idea how I would simulate it…

Here’s the code I wish to modify:

#pragma strict
var key : String;
var input : InputItem;

function UpdateInput () {
	//Just get the axis value from Unity's input
	input.axis = Input.GetAxisRaw(key);
}

//I'm not a big java fan, but in the interest of keeping everything within the asset working, I'd appreciate an answer here in java.

Here’s an example of the code I use to pick a button out of an array:

	public static KeyCode getKey(string key)
	{
		int keyint = 0;
		KeyCode returncode = KeyCode.A;
		for(int i=0; i<End; i++)
		{
			if(bindsnames *== key)*
  •  	{*
    
  •  		keyint = i;*
    
  •  	}*
    
  •  	else if(i >= End)*
    
  •  	{*
    
  •  		Debug.Log("ERROR 2: The key you are trying to access does not exist");*
    
  •  	}*
    
  •  }*
    
  •  returncode = (KeyCode)Enum.Parse(typeof(KeyCode),binds[keyint]);*
    
  •  return returncode;*
    
  • }*
    I’m not a very advanced programmer (could you tell) so baby steps would be appreciated. I work mainly in C#, but in the interest of not breaking the asset I am attempting to modify, I’d prefer an answer which uses a function I can then call from the javascript.
    I do not want to use the Unity input manager. I have many reasons for this but mostly because you cannot change the values at runtime.

You must decide to embrace the framework way to do things, or don’t use at all. If you decide to not use the custom Inputs like “Fire” or “Axis”, don’t use at all. Try to use half of functionally and force some internal behaviour will always frustrate you.

Simple implement your own classe that generate a +1,-1 value by up/down keys that you like (‘w’ and ‘s’).

var axis = 0;
if (Input.IsKeyDown("W")) axis = 1
if (Input.IsKeyDown("S")) axis = -1