2012-02-17 38 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