运行以下代码来确定Ctrl+ Downusing curses 的正确键代码给了我两个不同的输出(两台服务器都运行 Debian 6)。
ssh server1
(错误输出):
Press a Key 27
Press a Key 91
Press a Key 66
ssh server2
(正确输出):
Press a Key 519
我是否遗漏了代码或终端中的某些内容?可能是什么问题呢?
#include <stdlib.h>
#include <ctype.h>
#include <curses.h>
int main(void)
{
WINDOW *_window = initscr();
int _rows;
int _cols;
cbreak();
/* Accept all keys */
keypad(_window, true);
/* Don't echo things that are typed */
noecho();
/* Get the screen dimensions */
getmaxyx(_window, _rows, _cols);
/* Don't display cursor */
curs_set(0);
for (;;)
{
printw("Press a Key ");
refresh();
int key = wgetch(_window);
printw("%d \n", key);
}
endwin();
return 0;
}