キーボードキャプチャの場合はc。次のコードは、矢印キー/escが押されたときに検出されます。同時に、ユーザーが入力した単語全体を読みたいので、これらはstdoutにも表示されるはずです。
char pp = 0;
char p = 0;
while( (i = read(0, &c, 1)) == 1) {
if (pp == 033 && p == 0133 && (c &= 255) == 0102) /* DOWN */ break;
if (c == 0177) /* ASCII DELETE */ break;
printf( "%o, %o, %o\t%s\n\r", pp, p, c, &c);
pp = p;
p = c;
}
...
...
getchar(); //I want to capture here what was entered before
// **return key** was pressed.
しかし、'\ n'を削除すると、このコードは機能しません。stdoutが通常のシェルとして動作するようにしたい。