Queue a key press.
- ui: the UI to queue the event on.
- key: the key pressed.
- mods: the modifiers held.
- repeat: true for an auto-repeat rather than a fresh press.
edit: Text_Edit;
defer free_text_edit(*edit);
set_contents(*edit, "hi");
ui := headless();
defer free_ui(*ui);
build := (e: *Text_Edit) { for column() { text_field(e); } };
frame(*ui, *edit, build);
click(*ui, find_role(*ui, .TEXT_FIELD));
frame(*ui, *edit, build);
move_caret(*edit, 2);
send_key(*ui, .BACKSPACE);
frame(*ui, *edit, build);
assert(contents(*edit) == "h");send_key :: (
ui: *UI_State,
key: Key_Code,
mods: Modifiers = .{},
repeat: bool = false
)
Queue a key press.
Parameters
- ui: *UI_State
- the UI to queue the event on.
- key: Key_Code
- the key pressed.
- mods: Modifiers = .{}
- the modifiers held.
- repeat: bool = false
- true for an auto-repeat rather than a fresh press.
edit: Text_Edit;
defer free_text_edit(*edit);
set_contents(*edit, "hi");
ui := headless();
defer free_ui(*ui);
build := (e: *Text_Edit) { for column() { text_field(e); } };
frame(*ui, *edit, build);
click(*ui, find_role(*ui, .TEXT_FIELD));
frame(*ui, *edit, build);
move_caret(*edit, 2);
send_key(*ui, .BACKSPACE);
frame(*ui, *edit, build);
assert(contents(*edit) == "h");