我有一个应用程序,用户在其中输入数据并且需要能够使用箭头键在屏幕上移动。现在我使用了curses库,但是在调用系统命令后检测箭头时遇到问题
system("more filename);
在调用此命令之前,我已经能够检测到它们。但之后,即使尝试再次使用
keypad(scrn, TRUE);
它不工作。
有什么建议么?谢谢你:)
我有一个应用程序,用户在其中输入数据并且需要能够使用箭头键在屏幕上移动。现在我使用了curses库,但是在调用系统命令后检测箭头时遇到问题
system("more filename);
在调用此命令之前,我已经能够检测到它们。但之后,即使尝试再次使用
keypad(scrn, TRUE);
它不工作。
有什么建议么?谢谢你:)
试试这里的建议:http: //tldp.org/HOWTO/NCURSES-Programming-HOWTO/misc.html#TEMPLEAVE
有时您可能想暂时返回熟模式(正常行缓冲模式)。在这种情况下,您首先需要通过调用 def_prog_mode() 来保存 tty 模式,然后调用 endwin() 来结束 curses 模式。这将使您处于原始 tty 模式。完成后要回到诅咒,请调用 reset_prog_mode() 。此函数将 tty 返回到 def_prog_mode() 存储的状态。然后执行 refresh(),你又回到了 curses 模式。