0

全部,

我有一个用 C 语言编写的小实用程序,需要用户按一个键来进行菜单选择。代码很简单:

    system("stty raw");
    save_ID = getchar();
    system("stty cooked");

它抓住了击键,不需要等待 ENTER。它可以从命令行正常工作,但是,当我尝试将命令绑定到 Gnome/metacity 中的热键时,它会等待击键,但击键似乎不是作为命令的输入处理的,而是好像这是一个单独的命令。例如。如果我的击键是“1”并且我在终端中,我会看到:

“zsh:找不到命令:1”

我已经尝试过没有“系统”行,但没有任何改变。是否有一些特殊版本的“getchar”可以与 GUI 一起使用?顺便说一句,该程序的非交互式版本在绑定到热键时可以正常工作,因此该程序基本上可以正常工作,只是不能交互式使用。

谢谢

4

1 回答 1

0

我相信 GTK 可能会让您感兴趣,尽管我从未亲自使用过它。

http://www.gtk.org/

.

您还应该能够运行 gnome-terminal。使用 /opt/appFoo/appFoo 作为正常运行应用程序的命令,您将运行

gnome-terminal -e "/opt/appFoo/appFoo" &

于 2012-01-25T06:15:15.710 回答