0
运行下面的代码来确定正确的关键码Ctrl键 + 向下使用诅咒给我两个不同的输出(两个服务器正在运行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;
}
什么是在服务器上设置的TERM环境变量? – parkydr 2013-04-25 11:47:57
'server1':screen-256color,'server2':'xterm'。显然这与tmux有关。分离tmux会话很好。但是,仍然会很高兴知道是否有可以在代码中实施的解决方法。 – user1024718 2013-04-25 12:49:27
我不这么认为,关键映射是由TERM变量决定的。你可以尝试在server1上设置TERM = xterm。 – parkydr 2013-04-25 13:21:48