dispatchKeyEvent method
- @Enum.new(['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,
'modifiers': ?modifiers,
'timestamp': ?timestamp,
'text': ?text,
'unmodifiedText': ?unmodifiedText,
'keyIdentifier': ?keyIdentifier,
'code': ?code,
'key': ?key,
'windowsVirtualKeyCode': ?windowsVirtualKeyCode,
'nativeVirtualKeyCode': ?nativeVirtualKeyCode,
'autoRepeat': ?autoRepeat,
'isKeypad': ?isKeypad,
'isSystemKey': ?isSystemKey,
'location': ?location,
if (commands != null) 'commands': [...commands],
});
}