клавиатура curses не работает после def_prog_mode и reset_prog_mode, обновить - PullRequest
4 голосов
/ 25 июля 2010

Я пытаюсь перейти от моего пользовательского интерфейса ncurses к редактору с помощью вызова system и затем снова вернуться. С помощью нескольких дружественных программистов здесь я узнал, как использовать def_prog_mode и refresh для восстановления состояния моего пользовательского интерфейса терминала после того, как пользователь вернется из редактора.

Итак, мой код выглядит примерно так:

// save state and exit ui
def_prog_mode();
endwin();

// system call...
system(...)

// restore ui
reset_prog_mode();
refresh();

Это довольно неплохо восстанавливает мой пользовательский интерфейс, но довольно часто после этого моя программа больше не принимает или не реагирует на ввод с клавиатуры. Я не уверен, при каких условиях это происходит, но это происходит в большинстве случаев.

Это похоже на проблему здесь , но описанное исправление (повторный вызов keypad), похоже, не работает.

...