设备状态报告 (DSR)

从终端请求信息。

  1. 0x1B
    ESC
  2. 0x5B
    [
  3. ____
    n
  4. 0x6E
    n

根据 n 的值从终端请求信息。

n 的有效可能值在以下各段中说明。如果 提供了任何其他 n 值,此序列不执行任何动作。

如果为 n = 5,请求_运行状态_。终端以 ESC [ 0 n 向程序响应,表示没有故障。

如果为 n = 6,请求_光标位置_。终端以 ESC [ y ; x R 格式向程序响应,其中 y 是行、x 是列,均从 1 开始计数。如果启用了 原点模式 (DEC 模式 6), 报告的光标位置相对于滚动区域的左上角。

校验

DSR V-1:运行状态

printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[5n"
|^[[0n_____|

DSR V-2:光标位置

printf "\033[1;1H" # move to top-left
printf "\033[0J" # clear screen
printf "\033[2;4H" # move to top-left
printf "\033[6n"
^[[2;4R