我想在X11中捕获每个鼠标单击事件并将它们传递给我的C ++应用程序。我不仅希望捕获在主窗口顶部进行的点击,而且每次都不考虑我的主窗口。看起来我可以使用XGrabPointer轻松完成此任务。但是,我希望一切都表现得好像我从未抓住过这个事件。也就是说,我希望事件能够继续他们在层次结构中向其他客户的正常旅程,我只想成为第一个窥探事件的人。我不希望这些事件被“吃掉”。
在谷歌搜索问题时似乎有一些解决方案,但显然所有这些解决方案都已被破坏或弃用。最有希望的是Xrecord + Xtest,但这似乎也被弃用了。
现在看来应该使用Xinput2来完成,但是如何使用它的信息真的很少。我很欣赏一些见解。
编辑:我仍然喜欢这个答案!答案 0 :(得分:2)
当天晚些时候,但仍然 - 你可能想看看“xkey”应用程序[1],它会窥探所有打开窗口的所有关键事件。如果你这样做,你也会想要观察新窗口的创建。
[1] http://www.stllinux.org/meeting_notes/1997/0619/xkey.html
答案 1 :(得分:1)
我知道kcolorchooser这样做并且用C语言写成
也许值得参考: http://www.kde.org/applications/graphics/kcolorchooser/development
答案 2 :(得分:0)
也许您应该查看xev
代码:它会捕获可以想象的每个X事件。