抓取 X11 中的任意按键

Aug*_*rom 5 x11

我正在尝试用 C 语言实现一个简单的 X11 按键抓取器,用于使用 Alt-Tab 等进行窗口切换。我可以使用函数XSelectInput来处理特定窗口的键盘事件:

XSelectInput(display, window, KeyPressMask | KeyReleaseMask);
Run Code Online (Sandbox Code Playgroud)

无论聚焦哪个窗口,如何接收“全局”键盘事件?

n. *_* m. 3

你需要XGrabKey。该函数是专门为实现热键而设计的。

当按下所需的组合键时,无论如何您都会收到该事件,并且其他窗口都不会收到该事件。