[英]How to globally capture every mouse click in X11?
我想捕獲 X11 中的每個鼠標單擊事件並將它們傳遞給我的 C++ 應用程序。 我不僅想捕獲在我的主窗口頂部進行的點擊,還想捕獲每一次點擊,而不考慮我的主窗口。 看起來我可以使用 XGrabPointer 輕松完成此操作。 但是,我希望一切都表現得好像我從未抓住過該事件一樣。 也就是說,我希望這些事件繼續按照正常的旅程到達層次結構中的其他客戶,我只想成為第一個窺探事件的人。 我不希望事件被“吃掉”。
在谷歌搜索問題時似乎有幾個解決方案,但顯然所有這些解決方案都已損壞或已棄用。 最有前途的一個是 Xrecord + Xtest,但它似乎也被棄用了。
現在看起來這應該使用 Xinput2 來完成,但是關於如何使用它的信息真的很少。 我很感激一些見解。
有點晚了,但仍然 - 您可能想看看“xkey”應用程序[1],它監聽所有打開的窗口的所有關鍵事件。 如果你這樣做,你還想觀察新窗口的創建。
[1] http://www.stllinux.org/meeting_notes/1997/0619/xkey.html
我知道 kcolorchooser 這樣做並且是用 C 編寫的
也許值得參考: http : //www.kde.org/applications/graphics/kcolorchooser/development
也許您應該看看xev
代碼:它捕獲了每個可以想象的 X 事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.