全部,
我有一个用 C 语言编写的小实用程序,需要用户按一个键来进行菜单选择。代码很简单:
system("stty raw");
save_ID = getchar();
system("stty cooked");
它抓住了击键,不需要等待 ENTER。它可以从命令行正常工作,但是,当我尝试将命令绑定到 Gnome/metacity 中的热键时,它会等待击键,但击键似乎不是作为命令的输入处理的,而是好像这是一个单独的命令。例如。如果我的击键是“1”并且我在终端中,我会看到:
“zsh:找不到命令:1”
我已经尝试过没有“系统”行,但没有任何改变。是否有一些特殊版本的“getchar”可以与 GUI 一起使用?顺便说一句,该程序的非交互式版本在绑定到热键时可以正常工作,因此该程序基本上可以正常工作,只是不能交互式使用。
谢谢