是否可以侦听某个热键(例如: Ctrl - I )然后执行特定操作? 我的应用程序是用C语言编写的,只能在Linux上运行,而且它没有GUI。 有没有图书馆可以帮助完成这类任务?
编辑:作为一个例子,amarok有全局快捷方式,例如,如果你将一个键组合映射到一个动作(让我们说Ctrl - + , Ctrl和+ )你可以在按下键时执行该动作。 如果我将Ctrl - +映射到音量增加动作,每次按ctrl - +音量应增加一定量。
谢谢
一种方法是让您的应用程序侦听某个端口或套接字文件,以获取传入的请求。
然后,您可以编写连接到该端口或套接字文件的小型客户端应用程序,并将命令发送到正在运行的应用程序。
然后,您可以将窗口管理器配置为绑定某些组合键以启动小型客户端应用程序。
在UNIX中,您通过终端访问命令行shell。 这可以追溯到人们通过直接连接到机器的终端(例如通过串行电缆)访问大型共享计算机的日子。
事实上,'xterm'程序或你在UNIX机器上使用的任何衍生产品都被正确地称为终端模拟器 - 它的行为(从您的角度和操作系统的角度来看)就像那些老式的一样。终端机器。
这使得以有趣的方式处理输入变得稍微复杂,因为有许多不同类型的终端,并且您的UNIX系统必须知道每种类型的功能。 这些功能传统上存储在termcap文件中,我认为更现代的系统使用terminfo 。 尝试
man 5 terminfo
在Linux系统上获取更多信息。
现在,好消息是你不需要对终端功能等进行过多的混乱,以使命令行应用程序通过输入或窗口功能执行有趣的操作。 有一个图书馆, 诅咒 ,这将有所帮助。 抬头
man 3 ncurses
在Linux系统上获取更多信息。 你可能会找到一个关于在线使用curses的体面教程。