[英]Detecting arrow keys input in C++ using curses on a unix platform is not working after calling a system command
我有一个应用程序,用户输入数据,需要能够使用箭头键在屏幕上移动。 现在我已经使用了curses库,但在调用系统命令后检测到箭头时出现问题
system("more filename);
在调用此命令之前,我已经能够检测到它们。 但之后,即使在尝试再次使用后再打开键盘之后
keypad(scrn, TRUE);
它不起作用。
有什么建议么? 谢谢:)
试试这里的建议: http : //tldp.org/HOWTO/NCURSES-Programming-HOWTO/misc.html#TEMPLEAVE
有时您可能想要暂时恢复熟食模式(正常线路缓冲模式)。 在这种情况下,您首先需要通过调用def_prog_mode()来保存tty模式,然后调用endwin()来结束curses模式。 这将使您处于原始tty模式。 要在完成后返回curses,请调用reset_prog_mode()。 此函数将tty返回到def_prog_mode()存储的状态。 然后执行refresh(),然后返回curses模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.