How to set Input Buttons

Hey everyone,

I’ve created a Javascript script where I want to have input, I know how to do Input.GetAxis, because they are already mapped in edit>project settings>input. But I want to do something like Input.GetButtonDown(“BUTTON”); but it never seems to recognize the button that I put in there.

Can someone please tell me how to map the normal keyboard keys, or how to get this to work…

Thanks

-Grady

Maybe you want Input.GetKeyDown?
Or did you check your settings in the IM for ‘type’ (Key or Mouse Button’ etc)?

There are, as you mention, several ways to get keyboard inputs recognized by Unity.

You can for instance create an Axis by first increasing the Size in the Input Manager and then under Name name it to something that you reference to by code. The code is case-sensitive so you’d have to reference the exact name. The console will tell you if the input isn’t catching an Axis by the name you call from your code.


//Calling GetButtonDown requires the exact name as Axis Name in the Input Manager
if (Input.GetButtonDown("Enter") {}

//Calling GetKeyDown or GetKeyUp lets you set keys via code directly
if (Input.GetKeyDown("a")) {}

You could also do this one layer down and look for the triggering event of a key being pressed for more advanced usage:

function OnGUI () {
	var e : Event = Event.current;
	if (e.isKey && Input.anyKeyDown && e.keyCode.ToString()!="None") {
		onKeyDown (e.keyCode);
	}
}

function onKeyDown (incomingKey) {
var incomingKeyString = incomingKey.ToString();
    print("You pressed: "+incomingKeyString);
}

(Hardcoding keys is not a user-friendly approach as the end-user will not be able to alter them.)