Вопрос

При попытке получить ввод от клавиш со стрелками с помощью проклятий (ncurses) он не распознается как KEY_UP и т. д.Я использовал функцию клавиатуры с аргументом true, но getch по-прежнему возвращает экранированную последовательность.Как мне просмотреть значения, возвращаемые getch(), и конкретно захватить клавиши со стрелками?

Это было полезно?

Решение 2

я хранил 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top