sendKeyEvent method Null safety

Future<bool> sendKeyEvent(
  1. LogicalKeyboardKey key,
  2. {String platform = _defaultPlatform,
  3. String? character,
  4. PhysicalKeyboardKey? physicalKey}
)

Simulates sending physical key down and up events.

This only simulates key events coming from a physical keyboard, not from a soft keyboard.

Specify platform as one of the platforms allowed in platform.Platform.operatingSystem to make the event appear to be from that type of system. Defaults to "web" on web, and "android" everywhere else. Must not be null. Some platforms (e.g. Windows, iOS) are not yet supported.

Specify the physicalKey for the event to override what is included in the simulated event. If not specified, it uses a default from the US keyboard layout for the corresponding logical key.

Specify the character for the event to override what is included in the simulated event. If not specified, it uses a default derived from the logical key.

Whether the event is sent through RawKeyEvent or KeyEvent is controlled by debugKeyEventSimulatorTransitModeOverride.

Keys that are down when the test completes are cleared after each test.

This method sends both the key down and the key up events, to simulate a key press. To simulate individual down and/or up events, see sendKeyDownEvent and sendKeyUpEvent.

Returns true if the key down event was handled by the framework.

See also:

Implementation

Future<bool> sendKeyEvent(
  LogicalKeyboardKey key, {
  String platform = _defaultPlatform,
  String? character,
  PhysicalKeyboardKey? physicalKey
}) async {
  assert(platform != null);
  final bool handled = await simulateKeyDownEvent(key, platform: platform, character: character, physicalKey: physicalKey);
  // Internally wrapped in async guard.
  await simulateKeyUpEvent(key, platform: platform, physicalKey: physicalKey);
  return handled;
}