Во-первых, каждая функция ncurses должна использоваться только после вызова initscr()
.В вашем коде cbreak()
и noecho()
, вероятно, игнорируются.Во-вторых, если вы хотите использовать функциональные клавиши , вы должны сообщить об этом ncurses, вызвав keypad(stdscr, TRUE)
.Однако, поскольку не на каждом компьютере есть функциональные клавиши, вы всегда должны проверять, поддерживает ли система эти функции, используя has_key()
(то же самое для has_colors()
, который проверяет, поддерживает ли текущий терминал цвета).