Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 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 shopguy · Jun 29, 2016 at 03:55 AM · inputinputmanagertouchscreenkeyboard

Detect physical keyboard vs touch input

Is it possible to detect which type of keyboard input is coming from? That is, physical keyboard or on-screen? I'm working on a game that requires the user to type commands (words) and I'd like to apply logic like this:

     private TouchScreenKeyboard OpenKeyboard;
 
     void Update()
     {
         // Show touch-screen keyboard any time they use touch input.
         if (Input.touchCount > 0)
         {
             if (!TouchScreenKeyboard.visible)
             {
                 OpenKeyboard = TouchScreenKeyboard.Open(string.Empty, TouchScreenKeyboardType.ASCIICapable, false, false, false, false, string.Empty);
             }
         }
 
         // Hide touch-screen keyboard any time they use keyboard input.
         else if (Input.anyKeyDown && !string.IsNullOrEmpty(Input.inputString))
         {
             if (OpenKeyboard != null)
             {
                 OpenKeyboard.active = false;
                 OpenKeyboard = null;
             }
         }
     }
 

Basically, I want to automatically show/hide the on-screen keyboard for them if they need it or not. If they touch the screen, they want the on-screen keyboard, if they type using some other method (external keyboard), they do not want/need the on-screen keyboard.

Although I suppose if all devices have some way for the user to manually close the on-screen keyboard, just auto-opening it for them on touch input might be enough, since they could always close it if they choose to switch to an off-screen keyboard... Sadly, I do not think all devices have such a thing.

I can't easily test on all devices, which is why I'm hoping someone here has experience or inside knowledge. If Input.anyKeyDown tracks physical keyboard only, my code above should work, if it includes on-screen keyboard input, it will not (and it will end up closing the keyboard on every keystroke, fun!).

Comment
Add comment · Show 2
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 shopguy · Jun 29, 2016 at 03:57 AM 0
Share

p.s.-I'm not using GUI controls, just a simulated "console" I render myself.

avatar image hansadler · Nov 17, 2020 at 06:36 PM 0
Share

Did you find a solution for this?

0 Replies

· Add your reply
  • Sort: 

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

49 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

Related Questions

InputManager doesn't detect gamepad numbers correctly 1 Answer

Is there a way to modify Input Manager so that an ax is be able simulate an input from code? 0 Answers

how to make a configurable input 1 Answer

Input Manager Snap for Unity 4.3 1 Answer

Modify Verticle axis in the input manager 0 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