【问题标题】:stty RAW console in CC中的stty RAW控制台
【发布时间】:2014-03-21 06:53:40
【问题描述】:

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

system("/bin/stty raw")

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

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

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

    李>

谢谢

【问题讨论】:

    标签: c call system stty


    【解决方案1】:

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

    当您读取 ^M 时,您将适当的控制代码写入控制台。 raw 模式的全部意义在于控制台不会 执行诸如识别行尾、退格等操作,因为您想自己处理它们。一旦你这样做了,你就需要处理所有这些事情。

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

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

    【讨论】:

      猜你喜欢
      • 2021-09-18
      • 2018-12-13
      • 2011-05-30
      • 2017-10-07
      • 2014-05-15
      • 1970-01-01
      • 2011-05-19
      • 2012-06-20
      • 1970-01-01
      相关资源
      最近更新 更多