有没有办法让我的二进制文件对 Linux 中的某些全局热键做出反应?

Vha*_*run 4 c linux hotkeys

是否可以监听某个热键(例如:Ctrl-I)然后执行特定操作?我的应用程序是用 C 编写的,只能在 Linux 上运行,并且没有 GUI。有没有任何库可以帮助完成此类任务?

编辑:例如,amarok 具有全局快捷键,因此,例如,如果您将按键组合映射到一个操作(比方说Ctrl-+Ctrl+),您可以在按下按键时执行该操作。如果我要映射Ctrl-+到音量增加操作,则每次按下时ctrl-+音量都会增加一定的量。

谢谢

smo*_*fra 5

您的热键需要有多全局?对于 X 会话来说,它们是否足够全球化?在这种情况下,您应该能够打开 Xlib 连接并侦听您需要的事件。

通常,X 中的键盘事件会传递到当前具有焦点的窗口,并沿层次结构向上传播,直到它们被处理。显然这不是我们想要的。我们需要在任何其他窗口访问该事件之前处理该事件。我们需要使用热键的键码和修饰符在根窗口上调用XGrabKey来完成此操作。

我在这里找到了一个很好的例子。