code: public void post(Key key, boolean pressed, char typedCh, Modifiers modifiers) {
      queue.add(
        key == null ?
        new Queued<TypedEvent>(new TypedEvent.Impl(new Events.Flags.Impl(), 0, typedCh), typed) :
        new Queued<Event>(new Event.Impl(new Events.Flags.Impl(), 0, key, modifiers), pressed ? down : up));
    }
docs: Posts a key event received from elsewhere (i.e. a native UI component). This is useful for
  applications that are using GL in Canvas mode and sharing keyboard focus with other (non-GL)
  components. The event will be queued and dispatched on the next frame, after GL keyboard
  events.
  
  <p><em>Note</em>: the resulting event will be sent with time = 0, since the GL event time is
  inaccessible and platform dependent.</p>
  
  @param key the key that was pressed or released, or null for a char typed event
  @param pressed whether the key was pressed or released, ignored if key is null
  @param typedCh the character that was typed, ignored if key is not null