consumeKeyboardToken method
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;
}