在def_prog_mode和reset_prog_mode刷新后curses键盘不起作用

ty.*_*ty. 5 c curses ncurses

我正在尝试通过调用从 ncurses UI 转到编辑器system,然后再返回。几位友好程序员的帮助下,我学会了如何在用户从编辑器返回后使用def_prog_moderefresh恢复终端 UI 的状态。

所以我的代码看起来像这样:

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

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

// restore ui
reset_prog_mode();
refresh();
Run Code Online (Sandbox Code Playgroud)

这很好地恢复了我的用户界面,但通常情况下,此后我的程序不再接受或响应键盘输入。我不确定在什么条件下会发生这种情况,但大多数情况下都会发生。

这似乎与此处的问题类似,但所描述的修复(keypad再次调用)似乎不起作用。