[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI

光标位置

回忆上次内容

  • 上次了解了 新的转义模式
    • \033 逃逸控制字符 escape
      • 这个字符 让字符串 退出标准输出流
      • 进行控制信息的设置
        • 可以设置 光标输出的位置

图片描述

  • ASR33中的ALT MODE
    • 是 今天的ESC键吗????

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第1张图片

查询文档

  • http://bitsavers.org/communications/teletype/33/310B_Vol_1_33_Teletypewriter_Sets_Technical_Manual_Sep74.pdf

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第2张图片

  • 最开始的时候
    • 还没有esc键
  • 使用ctrl + shift + k
    • 实现esc效果
  • 后来的键盘
    • 有了 实体的esc键

escape 跳出

  • 现在键盘都有这个按键
    • 一般在左上角
    • 用来
      • 退出当前应用/游戏
      • 跳出菜单

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第3张图片

  • 上图esc在
    • 1 的左下
    • Q 的左边
  • esc可以
    • 从当前的纯文字标准输出流里面
    • 逃(escape)出来
    • 进行控制信息的传输

键盘的进化过程

  • 后来连接主机(main frame)用的是
    • 终端(terminal)
  • 当年最流行的终端 型号是
    • DEC VT100

  • esc 在1 左边
    • 还没有 出现在最左上的位置

位置的变化

  • 玩一些terminal上面的游戏时
    • 可以用 esc 退出游戏环境
      • 进入菜单
      • 进行设置、存盘、读档、退出之类的操作

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第4张图片

  • 知道 什么时候退
    • 比知道 怎么玩重要
  • 键盘还没有 统一的标准
    • 功能键 F1-F10
      • 在 最左边

标准键盘

  • 101键盘布局 成为经典
    • 左上角是esc 标准位置

  • 后来放在 左上角
    • 用边距和F1 拉开距离
    • 体现escape重要性

行业标准

  • 键盘开始有了标准布局
    • 并形成了工业标准

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第5张图片

  • 可以在ascii字符集里面
    • 找到esc 这个字符 么?

esc

  • 在下图中尝试找到esc

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第6张图片

  • esc 对应
    • (001 1011)2进制
  • 再到ascii应用中
    • 找一下esc?

ascii

  • 使用apt
    • 安装ascii这个应用
sudo apt install ascii
  • 找到这个字符

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第7张图片

  • 这个esc对应的是
    • (27)10进制
    • (1B)16进制
  • 这个(1B)16进制
    • 是怎么得到的呢?

1b

  • 使用hex函数
    • 可以得到
      • 数字的十六进制形式字符串
      • hexadecimal

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第8张图片

  • 如果是八进制呢?

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第9张图片

不同进制 表现形式

  • (1b)16进制
    • 对应着(27)10进制
    • 对应着(33)8进制

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第10张图片

  • 上面的分别是
    • 十六进制形态
    • 十进制形态
    • 八进制形态
  • 正如下面

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第11张图片

  • 不同的形态都可以
    • 用来转义吗?

不同形态

  • 不同的转义方式
    • 不影响功能

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第12张图片

  • 使用转义序列
    • 或者16进制转移方式
    • 或者8进制转移方式

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第13张图片

  • 在输出时
    • 没有差别
    • 都是换行效果

escape控制码大全

  • CSI 是
    • Control Sequence Introducer
    • 就是esc加[
      • esc就是\033
      • 用的是几进制的形式?

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第14张图片

  • 可以有各种方式
    • 控制位置

\033

  • 八进制的 形式

图片描述

  • \033[nA 光标上移 n 行
  • \033[nB 光标下移 n 行
  • \033[nC 光标右移 n 行
  • \033[nD 光标左移 n 行
  • \033[y;xH 设置光标位置
  • \033[2J 清屏
  • \033[K 清除从光标到行尾的内容
  • \033[s 保存光标位置
  • \033[u 恢复光标位置
  • \033[?25l 隐藏光标
  • \033[?25h 显示光标

光标的自由

  • 输出字符的位置
    • 以前是固定的
    • 仿佛被牢牢锁住

  • 真的能 挣脱固定位置的锁链 吗?

  • 好期待?

总结

  • 本次了解了键盘演化的过程
    • ESC 从 组合键
    • 到 独立按键

  • ESC 的作用

    • 是 进入控制序列
    • 配置控制信息
  • 控制信息

    • \033[y;xH 设置光标位置
    • \033[2J 清屏
  • 这到底怎么控制???

  • 来实现这些功能?

  • 我们下次再说!

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

你可能感兴趣的:(计算机外设)