在C中的stty RAW控制台

时间:2014-03-21 06:53:41

标签: c call system stty

我正在尝试构建自己的控制台,并且我使用以下语句获取RAW访问权限,因此我可以实现一些高级功能,例如实现自动建议功能。按TAB键,BASH shell。

system("/bin/stty raw")

使用此键时,回车键(和其他键)不会正常运行,当我按回车键时,它会显示^ M并且不会转到下一行。

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

  2. 我也可以将Shell设置为NOT不显示按下的键,这样我就可以使用putchar()将char发送回控制台(所以^ M在按下时不会显示)。

  3. 由于

1 个答案:

答案 0 :(得分:2)

  

如何将RAW控制台设置为在收到^ M

时转到下一行

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

  

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

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