Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Minoangelo · Jul 22, 2018 at 12:24 PM · c#inputmackeyboardkeyboard input

Issues with Input.inputString

Hey folks!

I have some issues when using Input.inputString – when I am getting an user input (Input.anyKeyDown) and Debug.Log the Input.inputString, it works perfectly fine with the standard keys like a–z or 1–0. But using the ESC and arrow keys will result either in an empty string or jibberish.

I am using Unity 2018.1.1 on a MacBook Pro with MacOS 10.13.6.

Anybody having the same issues or knows how to fix it? I need the Input.inputString to return exactly the key pressed for individualising the keyboard layout for a player.

Thanks in advance for your reply!

Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Minoangelo · Jul 31, 2018 at 12:26 PM 0
Share

Still haven't figured out what the problem is. Anybody? :)

avatar image brendanperry05 · Jul 31, 2018 at 01:57 PM 0
Share

Could you post your full code?

avatar image Minoangelo brendanperry05 · Jul 31, 2018 at 02:21 PM 0
Share

void Update () {

     // ESC, left click, right click, middle click do not trigger
     if(Input.any$$anonymous$$eyDown && !(Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.Escape) || Input.Get$$anonymous$$ouseButtonDown(0) || Input.Get$$anonymous$$ouseButtonDown(1) || Input.Get$$anonymous$$ouseButtonDown(2))) {
         // reset value of other command, if this key is already used
         for(int i = 0; i < settings$$anonymous$$anager.keyboardLayout.Length; i++) {
             if(settings$$anonymous$$anager.keyboardLayout[i] == Input.inputString.ToUpper()) {
                 settings$$anonymous$$anager.Set$$anonymous$$ey(i, "");
             }
         }

         settings$$anonymous$$anager.Set$$anonymous$$ey(settings$$anonymous$$anager.current$$anonymous$$ey, Input.inputString.ToUpper());
         settings$$anonymous$$anager.SaveSettings();

         gameObject.SetActive(false);
         menu$$anonymous$$anager.isEntering$$anonymous$$ey = false;
     }

}

The function settings$$anonymous$$anager.Set$$anonymous$$ey() just sets the value of settings$$anonymous$$anager.current$$anonymous$$ey (a strig) to Input.inputString.ToUpper(). That is all – for keys lika a–z and 0–1 the values are correct, but, for example, the up arrow key returns a Hindi character.

The //ToUpper()// is not what makes a wrong return, since it also returns the Hindi character without the method.

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Estecka · Jul 31, 2018 at 03:30 PM

Input.inputString is not designed to return the pressed key, (otherwise it would be returning a keycode), it's designed to return the text that the pressed keys would write into a text field. Escape and the arrow keys don't write anything so the inputstring is empty, the inputstring for Return should be "\n", etc...

In order to achieve you seek, I think you need to look into the Event class instead of Input. The snippet of code on this page seems to do just that :

https://docs.unity3d.com/ScriptReference/Event-keyCode.html

 using UnityEngine;
 using System.Collections;
 
 public class ExampleClass : MonoBehaviour {
     void OnGUI() {
         Event e = Event.current;
         if (e.isKey)
             Debug.Log("Detected key code: " + e.keyCode);
         
     }
 }
Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Minoangelo · Jul 31, 2018 at 03:41 PM 0
Share

Perfect! This is exactly what I was looking for :) Thank you very much!

avatar image
0

Answer by brendanperry05 · Jul 31, 2018 at 03:07 PM

@Minoangelo

According to the docs Input.inputString can be used for ASCII characters and the backspace and return keys only.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Minoangelo · Jul 31, 2018 at 03:17 PM 0
Share

Oh, I see – I must have somehow skipped this in the documentation. Thanks for the hint!

So, I assume, since there is no other already existing variable by Unity, the best way to detect all other keys would be by putting other if statements within the //Update()// function? It is a pitty that easy things like these are not dealt with automatically :D

avatar image brendanperry05 Minoangelo · Jul 31, 2018 at 03:24 PM 0
Share

I would do some more research on that if I were you but I have never personally made any games that require me to face this issue. If a chain of if statements gets the job done then I would start there and keep your eyes open for improvements. Best of luck!

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

533 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Detect from which keyboard key was pressed and cancel event 0 Answers

Can you simulate key press within WebView? 0 Answers

How to change the editor's keyboard to AZERTY layout? 1 Answer

NGUI UIInput issue with some Android devices (Virtual keyboard is OK, but no letters appears on textfield) 0 Answers

Check if there is a keyboard input (not a specified key input) 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges