code: protected void setKeyEvent(KeyEvent keyEvent) {
          if (gvrCursorController instanceof GVRExternalCursorController) {
              GVRExternalCursorController controller = (GVRExternalCursorController)
                      gvrCursorController;
              controller.setKeyEvent(keyEvent);
          } else {
              throw new UnsupportedOperationException("setKeyEvent not supported");
          }
      }
docs: Call this from a subclass of the {@link IoDevice} to send a corresponding {@link
  CursorEvent}. Setting a {@link KeyEvent} with {@link KeyEvent#ACTION_DOWN} should generate
  a {@link CursorEvent} with {@link CursorEvent#isActive()} set to <code>true</code>. A
  {@link KeyEvent} with {@link KeyEvent#ACTION_UP} should generate a {@link CursorEvent}
  with {@link CursorEvent#isActive()} set to <code>false</code>. The exact {@link KeyEvent}
  can also be retrieved from the {@link CursorEvent} by calling {@link
  CursorEvent#getKeyEvent()}
  
  @param keyEvent the event to be set.