在按下和不按下 SHIFT 和 CTRL 修饰符的情况下,我无法检测到箭头键按下。
我有以下测试代码:
WINDOW * mainwin = initscr();
keypad(mainwin, TRUE);
int c = wgetch(mainwin);
当按下带有修饰符的箭头键并且终端的 TERM 设置设置为'xterm'时,这会成功返回 'c' 的不同值。当终端的 TERM 设置为'linux'时,它不起作用。我得到的'c' 是 27,按下 shift 或 ctrl。
我希望它使用 linux 终端类型工作。有什么建议么?