诅咒得到箭头键

在尝试通过curses(ncurses)从箭头键获取输入时,它不会捕获KEY_UP等。我使用带有true参数的键盘函数但getch仍然返回一个转义序列。 如何筛选getch()返回的值并专门抓取箭头键?

我将getch()调用存储为char,因为它们应该是int的。 切换后工作完美。

我在Mac OS X上发现了同样的问题。但是通过添加以下内容解决了这个问题:

 keypad(stdscr, TRUE); 

按下箭头键时,标准(VT100类)端子发送一系列字符。 您只需要跟踪它们是否按顺序按下。 这是值得关注的焦炭:

 Down Arrow 0x1B 0x5B 0x42 Left Arrow 0x1B 0x5B 0x44 Right Arrow 0x1B 0x5B 0x43 Up Arrow 0x1B 0x5B 0x41