Ответ 1
Я записывал вызовы getch()
как char, когда они должны были быть int. Прекрасно работает после переключения.
При попытке получить ввод с клавиш со стрелками через curses (ncurses) он не будет восприниматься как KEY_UP и т.д. Я использовал функцию клавиатуры с истинным аргументом, но getch по-прежнему возвращал экранированную последовательность. Как мне переключаться между значениями, возвращаемыми getch() и специально выбирать клавиши со стрелками?
Я записывал вызовы getch()
как char, когда они должны были быть int. Прекрасно работает после переключения.
Я нашел ту же проблему в Mac OS X. Но она была решена путем добавления следующего:
keypad(stdscr, TRUE);
Стандартные (VT100-подобные) терминалы посылают последовательность символов при нажатии клавиш со стрелками. Вам просто нужно следить за тем, нажимаются ли они последовательно. Вот char для просмотра:
Down Arrow 0x1B 0x5B 0x42
Left Arrow 0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow 0x1B 0x5B 0x41