将鼠标点击事件发送到Linux中的其他窗口,而无需移动鼠标

时间:2018-11-25 19:50:12

标签: c++ linux winapi mouseclick-event xdotool

我有一个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中移动鼠标的情况下将click事件发送到其他应用程序?我正在使用Ubuntu 18.04。

0 个答案:

没有答案