进一步阅读

进一步阅读

我的笔记本电脑上有 kali linux。我的键盘有问题。每当我打开终端时,都会自动按下某个键,并且^[[5~该字符会显示在终端中。请告诉我哪个键导致了这个问题。在此输入图像描述

答案1

根据 ECMA-48 标准, [7 位相当于 8 位 C1 控制字符CSI。由于巨大的历史惯性,您的终端模拟器表现得好像不是 8 位干净的。

任何形式的终端输入控制序列CSI PS1 ; PS2 ~是 DECFNK 控制序列。 (PS2,因此 ,;是可选的,如果缺少,则在通常的 ECMA-48 样式中默认为 1。)这是源自 DEC 终端的事实上的标准控制序列,多年来被其他终端和终端仿真器复制。

VT510视频终端编程器信息在第 5-53 至 5-53 页上记录了 DECFNK 控制序列,尽管不是使用您习惯的 IBM PC 键名称。这是Prev Screen关键。位于该VT320键盘编辑键盘区的上组:

请参阅此 VT320 键盘上的上一个屏幕

您可以从中猜测出其 IBM PC Model M 键盘的等效项是什么,但是当您仍然查阅 doco 时,您还会CSI 5 ~在第 8-7 页的表 8-3 中找到VT520/VT525视频终端编程器信息。该表记录了它刻Page Up在 IBM PC 风格的键盘上。

使用像这样的参考 doco 来查找键盘控制序列。

请注意,这适用于使用 DEC VT 协议的终端。并非所有终端和终端仿真器都这样做。如果遇到以CSI或开头的输入控制序列SS3不在CSI PS1 ; PS2 ~形式,通常(除非它是实际的 ECMA-48 控制序列)采用其他广泛使用的协议,该协议最初是用于 SCO Xenix 控制台上的 IBM PC 键盘按键的协议。

DEC VT doco 将其中一些控制序列记录为其兼容性“SCO Console”模式。这些都完整记录在键盘(硬件)手册页中SCO Unix系统管理员参考

例如,您会发现它们被 FreeBSD 内核的内置终端仿真器用于功能键F13及更高功能。 (它使用 DEC VT 控制序列 到F1F12功能键最多有 DEC VT 控制序列F22。SCO Xenix 控制台记录了功能键F1到的控制序列F48,反映了使用修饰键使数字四倍的常见 IBM PC 约定功能键。)

进一步阅读

相关内容