sendKeyEvent method Null safety
- LogicalKeyboardKey key,
- {String platform = _defaultPlatform,
- String? character,
- 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:
- sendKeyDownEvent to simulate only a key down event.
- sendKeyUpEvent to simulate only a key up event.
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;
}