我正在尝试通过调用从我的 ncurses UI 转到编辑器system
,然后再返回。在几位友好的程序员的帮助下,我学会了如何使用def_prog_mode
和refresh
在用户从编辑器返回后恢复终端 UI 的状态。
所以我的代码看起来像这样:
// save state and exit ui
def_prog_mode();
endwin();
// system call...
system(...)
// restore ui
reset_prog_mode();
refresh();
这很好地恢复了我的 UI,但通常情况下,我的程序不再接受或响应键盘输入。我不确定在什么情况下会发生这种情况,但大多数情况下都会发生。
这似乎与此处的问题相似,但所描述的修复(keypad
再次调用)似乎不起作用。