dispatchKeyEvent method
- @Enum(['keyDown', 'keyUp', 'rawKeyDown', 'char']) String type, {
- int? modifiers,
- TimeSinceEpoch? timestamp,
- String? text,
- String? unmodifiedText,
- String? keyIdentifier,
- String? code,
- String? key,
- int? windowsVirtualKeyCode,
- int? nativeVirtualKeyCode,
- bool? autoRepeat,
- bool? isKeypad,
- bool? isSystemKey,
- int? location,
- List<
String> ? commands,
Dispatches a key event to the page.
type
Type of the key event.
modifiers
Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8
(default: 0).
timestamp
Time at which the event occurred.
text
Text as generated by processing a virtual key code with a keyboard layout. Not needed for
for keyUp
and rawKeyDown
events (default: "")
unmodifiedText
Text that would have been generated by the keyboard if no modifiers were pressed (except for
shift). Useful for shortcut (accelerator) key handling (default: "").
keyIdentifier
Unique key identifier (e.g., 'U+0041') (default: "").
code
Unique DOM defined string value for each physical key (e.g., 'KeyA') (default: "").
key
Unique DOM defined string value describing the meaning of the key in the context of active
modifiers, keyboard layout, etc (e.g., 'AltGr') (default: "").
windowsVirtualKeyCode
Windows virtual key code (default: 0).
nativeVirtualKeyCode
Native virtual key code (default: 0).
autoRepeat
Whether the event was generated from auto repeat (default: false).
isKeypad
Whether the event was generated from the keypad (default: false).
isSystemKey
Whether the event was a system key event (default: false).
location
Whether the event was from the left or right side of the keyboard. 1=Left, 2=Right (default:
0).
commands
Editing commands to send with the key event (e.g., 'selectAll') (default: []).
These are related to but not equal the command names used in document.execCommand
and NSStandardKeyBindingResponding.
See https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/editing/commands/editor_command_names.h for valid command names.
Implementation
Future<void> dispatchKeyEvent(
@Enum(['keyDown', 'keyUp', 'rawKeyDown', 'char']) String type, {
int? modifiers,
TimeSinceEpoch? timestamp,
String? text,
String? unmodifiedText,
String? keyIdentifier,
String? code,
String? key,
int? windowsVirtualKeyCode,
int? nativeVirtualKeyCode,
bool? autoRepeat,
bool? isKeypad,
bool? isSystemKey,
int? location,
List<String>? commands,
}) async {
assert(const ['keyDown', 'keyUp', 'rawKeyDown', 'char'].contains(type));
await _client.send('Input.dispatchKeyEvent', {
'type': type,
if (modifiers != null) 'modifiers': modifiers,
if (timestamp != null) 'timestamp': timestamp,
if (text != null) 'text': text,
if (unmodifiedText != null) 'unmodifiedText': unmodifiedText,
if (keyIdentifier != null) 'keyIdentifier': keyIdentifier,
if (code != null) 'code': code,
if (key != null) 'key': key,
if (windowsVirtualKeyCode != null)
'windowsVirtualKeyCode': windowsVirtualKeyCode,
if (nativeVirtualKeyCode != null)
'nativeVirtualKeyCode': nativeVirtualKeyCode,
if (autoRepeat != null) 'autoRepeat': autoRepeat,
if (isKeypad != null) 'isKeypad': isKeypad,
if (isSystemKey != null) 'isSystemKey': isSystemKey,
if (location != null) 'location': location,
if (commands != null) 'commands': [...commands],
});
}