0

我有一个 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。

4

0 回答 0