我正在为一个特殊设备制作一个 SSH 客户端,它的键盘上没有全键,我的问题是 Esc、Alt、Ctrl 和箭头键是如何在发送到 shell 的字符串中编码的?它只是'\ 033'吗?
我知道Enter密钥的行为方式,它从这里给出 ^M
但是当我按Ctrl+v然后Ctrl什么都没有出现时,当我在终端按Ctrl+v然后Ctrl+c我得到: ^C ,所以Ctrl只是 ^ ?
但是关于alt
此外,我发现:
left^[[D
right^[[C
up^[[A
down^[[B
我可以将这些命令command
如下写到 libssh:
rc = libssh2_channel_write(self.channel, [command UTF8String], strlen([command UTF8String])))
问题是我从 ssh 得到以下响应:zsh:我的 mac 上的 bash 和我的 SSH 程序中的替换失败:
-bash: :s^[^C: 替换失败