umacro-lib
Simulate Keyboard & Mouse events in Linux (X11 & Wayland) with uinput.
Example:
Mouse
// Create a virtual device:
let mut device = create_virtual_device?;
// Wait for device initialization:
device.wait;
// Absolute mouse movement
device.mouse_move?;
device.wait;
// Mouse Down
device.mouse_down?;
device.wait;
// Relative Mouse Movement
device.mouse_move_relative?;
device.wait;
// Mouse Up
device.mouse_up?;
device.wait;
// Mouse Up & Down (Click)
device.mouse_click?;
Keyboard
let mut device = create_virtual_device?;
device.wait; // Wait 3 seconds to initialize keyboard
// This is case insensitive, it presses real keyboard buttons, not sending chars.
// So you can't write emojis and special characters here.
// 10 is wait milliseconds between key presses
device.key_write?;
// Key Press & Release (Click)
device.key?;
//If you want to write BIG chars, press down shift before, then release.
device.key_down?;
device.key_write?; // result: "BIG HELLO WORLD"
device.key_up?;