我们如何使用任何其他键(例如,上下箭头)从 C 程序中为 linux 终端调用 (shift + pageup) 和 (shift + pagedown) 函数。我需要进行哪些系统调用。
最佳答案
这些功能是通过向终端发送转义序列来操纵的,即字符序列(通常以“转义”字符开头)。
Linux 控制台的详细序列记录在 console_codes 中手册页。但是,每个终端仿真器(例如,您在桌面环境中运行的任何终端程序)都与此不同。有些记录在案(xterm 和 rxvt),有些则没有(gnome-terminal、konsole)。
对于 DEC VT100 终端,大多数人将自己称为类 VT100。以下是天平两端的信息来源
- VT100.net (信息)
- ANSI/VT100 Terminal Control Escape Sequences (不准确,如 ncurses FAQ 中所述 How do I get color with VT100?
为了为这些功能提供更好的编程接口(interface),有库(ncurses 和俚语),使用终端数据库(列出给定终端提供的内容,以及如何做)。
从命令行,shell 脚本可以使用 tput发送转义序列的程序。 (shell 脚本通常也只对这些进行硬编码,但代价是缺乏可移植性和可读性)。
关于c - linux终端在C程序中向上翻页和向下翻页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980906/