XTestFakeButtonEvent 在 GNOME 栏上不起作用

问题描述

我正在编写一个辅助功能应用程序,该应用程序通过使用键盘用户单击鼠标。我正在使用

display *display = XOpendisplay(NULL);
XTestFakeButtonEvent(display,button,true,CurrentTime); // true is 'mouse down'
XFlush(display);
XClosedisplay(display);

它在我能看到的任何窗口上都很好用,除了 GNOME 上栏(带有日期和时间的上栏,右侧是包括关闭”图标在内的图标):

enter image description here

这个栏似乎完全忽略了我用上面的代码生成的 X11 事件。

为什么会这样?有什么办法解决吗?

解决方法

似乎在两个 'button down'+'button release' 事件之前生成一个 'button release' 事件修复了它。