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

光标位置

回忆上次内容

  • 上次了解了 新的转义模式
    • \033 逃逸控制字符 escape
      • 这个字符 让字符串 退出标准输出流
      • 进行控制信息的设置
        • 可以设置 光标输出的位置
  • ASR33中的ALT MODE
    • 是 今天的ESC键吗????🤔

查询文档

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

escape 跳出

  • 现在键盘都有这个按键
    • 一般在左上角
    • 用来
      • 退出当前应用/游戏
      • 跳出菜单
  • 上图esc
    • 1 的左下
    • Q 的左边
  • esc可以
    • 从当前的纯文字标准输出流里面
    • 逃(escape)出来
    • 进行控制信息的传输

键盘的进化过程

  • 后来连接主机(main frame)用的是
    • 终端(terminal)
  • 当年最流行的终端 型号是
    • DEC VT100
  • esc1 左边
    • 还没有 出现在最左上的位置

位置的变化

  • 玩一些terminal上面的游戏时
    • 可以用 esc 退出游戏环境
      • 进入菜单
      • 进行设置、存盘、读档、退出之类的操作
  • 知道 什么时候退
    • 比知道 怎么玩重要😄
  • 键盘还没有 统一的标准
    • 功能键 F1-F10
      • 在 最左边

标准键盘

  • 101键盘布局 成为经典
    • 左上角是esc 标准位置
  • 后来放在 左上角
    • 用边距和F1 拉开距离
    • 体现escape重要性

行业标准

  • 键盘开始有了标准布局
    • 并形成了工业标准
  • 可以在ascii字符集里面
    • 找到esc 这个字符 么?

esc

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

ascii

  • 使用apt

    • 安装ascii这个应用

      sudo apt install ascii

  • 找到这个字符

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

1b

  • 使用hex函数
    • 可以得到
      • 数字的十六进制形式字符串
      • hexadecimal
  • 如果是八进制呢?

不同进制 表现形式

  • (1b)16进制
    • 对应着(27)10进制
    • 对应着(33)8进制
  • 上面的分别是
    • 十六进制形态
    • 十进制形态
    • 八进制形态
  • 正如下面
  • 不同的形态都可以
    • 用来转义吗?

不同形态

  • 不同的转义方式
    • 不影响功能
  • 使用转义序列
    • 或者16进制转移方式
    • 或者8进制转移方式
  • 在输出时
    • 没有差别
    • 都是换行效果

escape控制码大全

  • CSI 是
    • Control Sequence Introducer
    • 就是esc加[
      • esc就是\033
      • 用的是几进制的形式?
  • 可以有各种方式
    • 控制位置

\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 从 组合键
    • 到 独立按键
相关推荐
flysh0516 小时前
pyAutoGUI 模块主要功能介绍-(1)鼠标功能
python·计算机外设·鼠标控制
Winter_Sun灬1 天前
普通键盘在MacOS上如何使用快捷键
macos·计算机外设·键盘
瞬间记忆1 天前
如何使显示器在笔记本盖上盖子时还能正常运转
计算机外设
dujunqiu2 天前
S32K328上芯片内部RTC的使用和唤醒配置
mcu·计算机外设
嵌入式牛马在努力帮老板娶老婆3 天前
十三、STM32----LCD屏驱动
stm32·嵌入式硬件·计算机外设
MingYue_SSS3 天前
键盘上面有F3,四,R,F,V,按下没有反应,维修记录
嵌入式硬件·计算机外设·解决办法
KWTXX3 天前
单片机键盘接口程序设计(汇编语言)
单片机·计算机外设·nosql
全栈技术负责人5 天前
移动端富文本markdown中表格滚动与页面滚动的冲突处理:Touch 事件 + 鼠标滚轮精确控制方案
前端·javascript·计算机外设
铉铉这波能秀5 天前
解决Mac电脑连接蓝牙鼠标的延迟问题
macos·计算机外设·鼠标