simulateKeyDownEvent function

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

Simulates sending a hardware key down event through the system channel.

It is intended for use in writing tests.

This only simulates key presses coming from a physical keyboard, not from a soft keyboard, and it can only simulate keys that appear in the key maps such as kAndroidToLogicalKey, kMacOsToPhysicalKey, etc.

Specify platform as one of the platforms allowed in Platform.operatingSystem to make the event appear to be from that type of system. Defaults to "web" on web, and the operating system name based on defaultTargetPlatform everywhere else.

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

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

See also:

Implementation

Future<bool> simulateKeyDownEvent(
  LogicalKeyboardKey key, {
  String? platform,
  PhysicalKeyboardKey? physicalKey,
  String? character,
}) async {
  final bool handled = await KeyEventSimulator.simulateKeyDownEvent(key, platform: platform, physicalKey: physicalKey, character: character);
  final ServicesBinding binding = ServicesBinding.instance;
  if (!handled && binding is TestWidgetsFlutterBinding) {
    await binding.testTextInput.handleKeyDownEvent(key);
  }
  return handled;
}