3

彼らは、F11 などのキーをキャプチャする方法を尋ねたり、getchr がそれらのキーに対して何も返さず、入力イベントからの生の入力を受け入れる作業を見つけることができません..

これらのキーを取得するために、C++ プログラムで ncurses/curses を試しています。

テストする私のプログラムは簡単です。基本的には次のとおりです。

#include <stdlib.h>
#include <stdio.h>
#include <curses.h>
int main() {
    int car;
    while(c != '\b') {
        c = getch();
        printf("%i", c);
    }
    return 0;
}

もちろん、別の getch() 関数と同じように使用しますが、-1無限回返されます.. Arch Linux の最近のカーネルを標準端末で使用しています (xterm同様にテスト済み) 。

ライブラリでこの getch() を使用するためにオンにする必要がある特定のスイッチはありますか?

4

1 に答える 1

7

initscr();を呼び出す前に、curses を初期化するために を呼び出す必要がありますgetch()

さらに、おそらくノンライン バッファ モードが必要なので、コールも行う必要がありますcbreak(); noecho();(echo モードは cbreak モードと一緒に使用しないでください)。

于 2010-11-22T00:54:35.540 に答える