使用TIOCSTI我试图注入组合键(如ALT +。)转换成使用Python中TIOCSTI一个tty。注射组合键进入猛砸TTY在Python
对于一些组合键,我发现相应的十六进制代码为Bash shell使用以下table这很好。
从这个表上,我可以看到,例如CTRL +一个是等'\x01'
import sys,os,Queue
import termios,fcntl
# replace xx with a tty num
tty_name = "/dev/pts/xx";
parent_fd = os.open(tty_name, os.O_RDWR)
special_char = "Ctrl_a"
if special_char == "Ctrl_a":
send_char = '\x01'
if special_char == "Ctrl_e":
send_char = '\x05'
if special_char == "Ctrl_c":
send_char = '\x03'
fcntl.ioctl(self.parent_fd, termios.TIOCSTI, send_char)
但我怎么能得到十六进制代码为其他组合,如 ALT +f等我需要一个完整的列表或方式如何获取这些信息的任何可能的组合,因为我想实现大多数bash快捷方式移动,操纵历史等注入。
或者是否有任何其他方式注入使用TIOCSTI的键组合?
由于我只能发送单个字符到tty我不知道是否还有其他可能。
非常感谢您的帮助!
没有键码155不工作。 – OliP