繁体   English   中英

如何在原始输入模式下发送终端转义序列?

[英]How can I send terminal escape sequences in raw input mode?

我有一个在原始模式下使用终端的程序,我想移动光标。 在哪里可以找到此转义序列,以及如何从c程序内部将其发送到终端?

这是我目前拥有的:

char code[4];
code[0] = 27;
code[1] = 91;
code[2] = '*';
code[3] = 'D';
write(1, code, 4);

如果要控制全屏,则应查看ncurses库。 这是用于全屏控制台程序的简单库,其中包含其他内容

  • 全屏文字定位
  • 使用全键盘,包括功能键,插入/删除等
  • 使用属性为文本上色,突出显示等

您希望使用termcap来获取此信息,因为它取决于用户所处的终端类型,因此会有所不同。

我建议您仔细看一下cursesncurses库,并计划使用其中一个而不是自己动手。 您应该旨在使用终端描述的terminfo系统,而不是较旧的termcap系统。 另请参阅O'Reilly的书籍“ Termcap和Terminfo ”和我最喜欢的书名(主要是因为编程时我似乎花费了大量时间在咒骂)“ 用诅咒编程”。 (但是,那本书是古老的-1986年-还有其他关于同一主题的其他较新的书籍可能是更好的选择;不过,我还是很喜欢书名。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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