关于Unix上读取键盘输入的问题(curses)
大家用过curses编程,对于PageUp和ESC的读取,我似乎无法解决,如果确实想按ESC,
似乎 if ( in_char == -1 ) 不能立刻得到, 而在按了下一个键后,就返回了ESC.
请有过这方面经验的帮忙。
in_char = getch();
if ( in_char == CTL_V ) return KEY_PGDN;
else
if ( in_char != ESC ) return in_char;
in_char = getch();
if ( in_char == -1 ) return ESC;
else
if ( in_char == 'v' ) return KEY_PGUP;
else
if ( in_char == '[' )
{
in_char = getch();
switch ( in_char )
{
case 'A': return KEY_UP;
case 'B': return KEY_DOWN;
case 'C': return KEY_RIGHT;
case 'D': return KEY_LEFT;
case 'H': return KEY_A1;
case 'J': return KEY_A3;
case 'K': return KEY_C3;