Terminal 从终端读取屏幕字符

Terminal 从终端读取屏幕字符,terminal,curses,ioctl,termcap,terminfo,Terminal,Curses,Ioctl,Termcap,Terminfo,据我研究,termfo/termcap和ioctl不允许查询终端屏幕上(x,y)位置的字符。这相当出乎意料,因为: 例如,可以从终端读取屏幕尺寸(例如,tput co,tput li) 可以从终端读取输入 –这两者意味着与终端的通信是双向的。是否真的没有办法在给定位置查询字符,例如在诅咒函数(仅适用于诅咒窗口)中使用*inch*,*等 从终端数据库(固定)和操作系统(可变)的组合中给出值,但不询问终端 通过设备的输入流从终端读取数据(终端的设计功能) 一些(并非所有)终端支持转义序列,该

据我研究,
termfo
/
termcap
ioctl
不允许查询终端屏幕上(x,y)位置的字符。这相当出乎意料,因为:

  • 例如,可以从终端读取屏幕尺寸(例如,
    tput co
    tput li
  • 可以从终端读取输入
–这两者意味着与终端的通信是双向的。是否真的没有办法在给定位置查询字符,例如在诅咒函数(仅适用于诅咒窗口)中使用
*inch*
*等

  • 从终端数据库(固定)和操作系统(可变)的组合中给出值,但不询问终端
  • 通过设备的输入流从终端读取数据(终端的设计功能)
一些(并非所有)终端支持转义序列,该序列询问终端光标的位置。程序使用它来获得屏幕大小。但请记住,众所周知,它依赖于终端,如手册页面中所述:

-s
[rows-columns]
此选项表示将启用控制台转义序列 用于代替VT100样式的xterm转义码


很少有终端支持转义序列,它只从屏幕上读取字符。不是每个人都喜欢可以读取屏幕的程序的概念——也许他们不知道。

我想知道哪些终端类型支持从屏幕缓冲区读取字符。