在尝试通过 curses (ncurses) 从箭头键获取输入时,它不会捕获为 KEY_UP 等。我使用了带有 true 参数的键盘函数,但 getch 仍然返回了一个转义序列。如何切换 getch() 返回的值并专门抓住箭头键?
James
问问题
22487 次
3 回答
22
我在 Mac OS X 上发现了同样的问题。但通过添加以下内容解决了这个问题:
keypad(stdscr, TRUE);
于 2009-10-18T22:09:18.540 回答
19
getch()
当它们应该是int时,我将调用存储为char。切换后完美运行。
于 2009-07-25T19:16:16.260 回答
8
按下箭头键时,标准(类似 VT100)终端会发送一系列字符。您只需要跟踪这些是否按顺序按下。以下是要注意的字符:
Down Arrow 0x1B 0x5B 0x42
Left Arrow 0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow 0x1B 0x5B 0x41
于 2009-07-25T18:25:40.043 回答