# consumeKeyboardToken method

bool consumeKeyboardToken ()
inherited

Removes the keyboard token from this focus node if it has one.

This mechanism helps distinguish between an input control gaining focus by default and gaining focus as a result of an explicit user action.

When a focus node requests the focus (either via `FocusScopeNode.requestFocus` or `FocusScopeNode.autofocus`), the focus node receives a keyboard token if it does not already have one. Later, when the focus node becomes focused, the widget that manages the `TextInputConnection` should show the keyboard (i.e., call `TextInputConnection.show`) only if it successfully consumes the keyboard token from the focus node.

Returns whether this function successfully consumes a keyboard token.

## Implementation

    bool consumeKeyboardToken() {
      if (!_hasKeyboardToken)
        return false;
      _hasKeyboardToken = false;
      return true;
    }