- Home /
Question by
verypogman69 · Mar 31 at 09:45 AM ·
keyboardkeypresskeyboard input
Only accept certan keys in unity?,Only accept certain keys in unity?
Hello! I have made a key listener in unity, but this listens to every key, but I only want A-Z, and enter. I will share the script, but im not sure how to fix this.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class KeyLisener : MonoBehaviour
{
private int spamStop = 0;
private int typed = 0;
static KeyCode[] kcode;
private List<KeyCode> keycod;
private int num = 1;
private string word = "among";
private string keys;
// Start is called before the first frame update
void Start()
{
keycod = new List<KeyCode>();
}
// Update is called once per frame
async void Update()
{
foreach(KeyCode kcode in Enum.GetValues(typeof(KeyCode)))
{
if (Input.GetKey(kcode))
{
if(spamStop == 0)
{
if(typed == 5)
{
for(int i = 5; i <= 5; i++)
{
if (spamStop == 0)
{
keycod.Add(kcode);
}
}
keys = keycod[0].ToString() + keycod[1].ToString() + keycod[2].ToString() + keycod[3].ToString() + keycod[4].ToString();
if(keys.ToLower() == word)
{
Debug.Log("win");
}
else
{
Debug.Log("Word you typed: " + keys.ToLower() + ", You should've typed: " + word);
}
typed = 0;
}
Debug.Log("KeyCode down: " + kcode);
keycod.Add(kcode);
spamStop++;
typed++;
}
}
else if(spamStop == 1)
{
if(!Input.anyKey)
{
spamStop = 0;
}
}
}
}
}
every key is listened to. I really don't want to hardcode them, so if someone has an answer, it would be greatly appreciated.
Comment
Best Answer
Answer by Hellium · Mar 31 at 09:50 AM
Fortunately, the key codes from A to Z are in order in the enum.
Replace
foreach(KeyCode kcode in Enum.GetValues(typeof(KeyCode)))
By
for(KeyCode kcode = KeyCode.A; kcode != (KeyCode.Z + 1); kcode++ )
Your answer
Follow this Question
Related Questions
MonoDevelop: command a sometimes all, sometimes replace 0 Answers
Animations Only Playing Once Per Key Press 0 Answers
Panel isn't opening after hitting the tab key, and its not even saying I pressed the key? 0 Answers
How to get Key with KeyCode.Question? 1 Answer
Navigating a gui with the keyboard 2 Answers