繁体   English   中英

在调用系统命令后,在unix平台上使用curses检测C ++中的箭头键输入无效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM