簡體   English   中英

如何在 X11 中全局捕獲每次鼠標點擊?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM