title: How to keep InputField keyboard open when focus is lost?
body: <p>I'm making a typing game where the user types in words that fall down the screen, and I have buttons at the top that act as powerups (nuke, freeze, etc...) when the user presses them.</p>
  
  <p>Now, when the user clicks one of the powerup buttons at the top of the screen, the keyboard will momentarily close before <code>ButtonClicked</code> re-opens it and it looks quite buggy. <strong>How do I make it so that when the user clicks one of the buttons at the top the keyboard stays open the whole time?</strong></p>
  
  <p>Currently, I have added a listener on the button that will re-open the keyboard.</p>
  
  <pre class="lang-cs prettyprint-override"><code>myButton.onClick.AddListener(ButtonClicked);
  
  void ButtonClicked()
  {
      //DoStuff();
      inputField.ActivateInputField();
  }
  </code></pre>
  
  <p>This is what it looks like now. I have to click once to get rid of the keyboard, and then once again on the button.</p>
  
  <p><a href="https://imgur.com/a/WTLLYEX" rel="nofollow noreferrer">https://imgur.com/a/WTLLYEX</a></p>
  
  <p>I tried overriding some InputField functions with a custom class but to no avail.</p>
  
  <pre class="lang-cs prettyprint-override"><code>public class CustomInputField: InputField
  { 
       public override void OnDeselect(BaseEventData eventData)
       {
           Debug.Log ("Overrides InputField.Deselect");
       }
  
       public override void DeactivateInputField()
       {
           Debug.Log ("Overrides InputField.DeactivateInputField");
       }
  
  }
  </code></pre>
  
  <p>The first method doesn't accomplish what I want, and the second method <code>DeactivateInputField()</code> gives me</p>
  
  <blockquote>
    <p>error CS0506: <code>CustomInputField.DeactivateInputField': cannot override inherited member</code>InputField.DeactivateInputField' because it is not marked virtual, abstract or override.</p>
  </blockquote>
  
  <p>Any help would be greatly appreciated, thank you!</p>