【发布时间】:2013-03-27 09:32:33
【问题描述】:
我试图在用户按下一个键时调用一个函数,有点像用 Ctrl-C 发送信号。这个想法是做某事,说在一个while循环中,并积极地听,比如说,被按下的'f'键。当按下它时,程序将停止执行循环并执行其他操作,因为按下了 'f' 键。
有没有办法自定义信号映射?我没有太多运气。似乎还有 1 或 2 个可用于自定义的信号,但我需要 3 个。
如果我使用 getchar(),用户需要按“f”键,然后按回车键。我希望他们只需按“f”键而不必按回车键。
这与使用 unix 的 more 程序非常相似,用户只需按空格键即可浏览页面。
非常感谢任何帮助!
【问题讨论】:
-
Windows 有钩子的概念。我不知道 Unix 有什么,但这可能会帮助你找到你想要的。
-
是的,我正在 Unix 中寻找它。
-
看起来你有 ncurses 或 this。供参考:stackoverflow.com/questions/3392291/…
-
我有一个使用 termios here 进入和退出 RAW 模式的示例。
-
您可以更改您的终端设置以使用
stty intr f发送和中断信号,尽管在大多数正常情况下这可能会让您发疯。