У меня есть приложение для Windows, которое я хочу перенести в Linux.В этом приложении я отправляю события щелчка мышью в другие приложения.Функция, которая выполняет эту работу, выглядит следующим образом:
void MainWindow::send_mouse_event(HWND hwnd, int x, int y)
{
int coordinate = x | (y << 16);
LRESULT res = SendMessage(hwnd, WM_LBUTTONDOWN, 0x00000001, coordinate);
SendMessage(hwnd, WM_LBUTTONUP, 0x00000000, coordinate);
}
Я искал эквивалентный код в Linux и нашел xdotool .Насколько я понял, используя xdotool
, сначала нужно переместить мышь в точку, а затем щелкнуть эту точку.Но в Windows я мог отправлять события щелчка мышью практически в другие окна, не перемещая мышь.Так правдива ли история о Linux?Можно ли отправить событие щелчка другим приложениям без (действительно) перемещения мыши в Linux?Я использую Ubuntu 18.04.