handleCharacterInput method
Implementation
bool handleCharacterInput(KeyEvent event) {
if (document.imeHandler.isConnectionActive) {
// Let the OS send a TextEditingDelta. Manual insertion kills the OS IME composing session.
return false;
}
if (event.character != null && event.character!.isNotEmpty) {
if (document.imeHandler.isComposing) {
return false;
}
final character = event.character!;
final isSpace = character == ' ' || character == '\n' || character == '\r';
document.saveState(
description: 'Type',
forceNewAction: isSpace,
);
if (document.cursor.isCollapsed) {
executeHandleInsertCharacter(character, document);
} else {
executeHandleReplaceSelection(character, document);
}
return true;
}
return false;
}