标签: c keyboard ncurses tui
我在Fedora Linux中使用C来构建语音流应用程序。我在两个客户端之间运行音频,但下一步是实现用户界面。
我的目标是以“按键通话”方式使用不同的键盘键,即按住“Q”键允许用户与一个用户通话,“W”另一个用户等等。
我的问题是,我将如何实施?传输线程只是一个while循环,从声卡读取180个字节并将其作为UDP数据包发送。明显的问题是按下按键的回声,用q和w填充屏幕,以及如何在C中检测按键/按键。我正在查看ncurses但这是一个很大的话题!
ncurses
非常感谢任何想法或进一步阅读。
Ĵ
答案 0 :(得分:0)
问题的第一部分,关于如何在不使用ncurses的情况下检测按键,answered极好地使用termios,@ jim mcnamara
termios
并且ncurses似乎并不像听起来那么可怕:-)。 Here是ncurses实施,完全(几乎)满足您的要求。但根据this post,您需要添加notimeout()调用,以便getch()(ncurses one)不等待下一次按键。
notimeout()
getch()