2012-02-17 103 views
0

我在Fedora Linux中使用C来构建语音流应用程序。我在两个客户端之间运行音频,但下一个阶段是实现用户界面。“按键制作”式键盘按键的使用

我的目标是以“按键通话”的方式使用不同的键盘按键,即按住“Q”键可以让用户与一位用户通话,“W”按另一个按键等等。

我的问题是,我将如何去实现这个?发送线程只是一个while循环,从声卡中读取180个字节并将其作为UDP数据包发送。这个薄雾的明显问题是回应按键,用q和w填满屏幕,以及如何用C检测按键/按键。我正在寻找ncurses,但这是一个很大的话题!

任何想法或进一步阅读将不胜感激。

Ĵ

回答

0

你的问题的第一部分,至于如何检测按键,而无需使用ncursesanswered出色,使用termios,通过@jim麦克纳马拉

而且ncurses似乎并不像可怕因为它听起来:-)。 Here是一个ncurses实现,它完全(几乎)满足您的要求。但根据this post,您需要添加notimeout()调用,以便getch()(ncurses之一)不会等待下一个按键。

+0

ncurses不检测按键/按键释放事件。你需要一个较低级别的库来做到这一点。 – Craig 2012-02-17 22:31:14

+0

有帮助,我意识到使用呼叫控制的切换样式机制会更容易。你说得对,ncurses并不是那么糟糕,我已经成功地制作了一个原型! – aktungmak 2012-02-19 18:34:43