我使用minicom通过串行线与一个将所收到字符以十六进制方式转储的设备进行通信。我这样做是为了查看某些键的转义代码。我曾尝试过使用VT102终端仿真和ANSI模式的minicom。
对于VT102和ANSI,箭头键对应于
Up: Esc [ A
Down: Esc [ B
Right: Esc [ C
Left: Esc [ D
这与我在几个网站上找到的内容相符,例如VT102用户指南
我尝试了其他一些键,但在整个网络中都找不到任何参考资料:
VT102 ANSI
Home: Esc [ 1 ~ Esc [ H
End: Esc O F Esc O F
Insert: Esc [ 2 ~ Esc [ @
这些代码是标准的吗?什么标准?我在互联网上哪里可以找到匹配项?如果我尝试使用命令行(xfce-terminal),按照 Home、End 和 Insert 的顺序:
$ cat | hexdump -C
^[[H^[[F^[[2~00000000 1b 5b 48 1b 5b 46 1b 5b 32 7e |.[H.[F.[2~|
看起来 Home 等于 Minicom ANSI 序列,End 将 'O' 改为 '[', 而 Insert 等于 Minicom VT102 转义序列。
相同的运行 GtkTerm。
我也尝试了在 Windows 上使用 TeraTerm,但结果仍然不同。
总结
Minicom VT102 Minicom ANSI xfce-terminal & GtkTerm TeraTerm VT100/VT102
Home: Esc [ 1 ~ Esc [ H Esc [ H Esc [ 1 ~
End: Esc O F Esc O F Esc [ F Esc [ 4 ~
Insert: Esc [ 2 ~ Esc [ @ Esc [ 2 ~ Esc [ 2 ~