使用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