C中的stty RAW控制台

我试图构建自己的控制台,并使用下面的语句来获取RAW访问权限,以便我可以实现一些高级功能,例如通过按TAB键实现在BASH shell中实现的自动建议功能。

system("/bin/stty raw")

当使用这个时,回车键(和其他)不能正常运行,当我按下回车键时,它会显示^ M并且不会进入下一行。

  • 如何将RAW控制台设置为在收到^ M时转到下一行

  • 我也可以将Shell设置为不显示按键,这样我就可以使用putchar()将字符发送回控制台(所以^ M按下时不显示)。

  • 谢谢


    如何将RAW控制台设置为在收到^ M时转到下一行

    当您阅读^ M时,您会向控制台写入适当的控制代码。 原始模式的重点在于控制台不会执行识别行结束符,退格符等等,因为您想自己处理它们。 一旦你这样做,你需要处理所有这些事情。

    我可以将Shell设置为不显示按下的键

    当然。 关闭echo 。 使用stty命令,您可以使用stty raw -echo但如果您是从C程序执行此操作,则使用终端API会更好。 见man tcsetattr

    链接地址: http://www.djcxy.com/p/25705.html

    上一篇: stty RAW console in C

    下一篇: What are the special dollar sign shell variables?