Python中所有键盘按键的转义序列
我在用Python的telnetlib库……我用'\r'来表示回车键,用'\t'来表示TAB键。像这样的情况,我想知道SHIFT、PAGE UP、PAGE DOWN、F1、F2……F12这些键的字符序列是什么。请帮我解决这个问题,因为我需要在我的代码中使用这些键。
import telnetlib
HOST = "localhost"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.write("ls\n")
tn.write("exit\n")
tn.write("\r") #this is for enter
tn.write("\t") # this is for tab
#what should be here to other keys..pls
print tn.read_all()
2 个回答
0
你可以选择使用这个telnet客户端: https://www.redhat.com/archives/redhat-list/2000-August/msg00070.html
0
很遗憾,并不是所有的按键都会发送一个或多个字节的数据。这其实和终端模拟有关,因为控制键是“设计”给终端设备(或者模拟器)来解释的。
不同类型的终端定义了不同的按键,并把它们映射到数据流中的不同字节值。例如,有些终端有F11和F12键,而有些则没有。有的定义了Ctrl+F键、Shift+F键、Alt+F键、Command+F键,而有的则没有。而且,不同的终端将这些按键映射到完全不同的字节序列上。对于箭头键和像插入键这样的光标模式键,情况也是一样的。
你可能会发现某些按键被客户端拦截,根本没有发送出去,或者一些非键盘事件(比如用鼠标调整终端窗口大小)会发送终端转义序列。