【发布时间】:2015-07-29 11:29:58
【问题描述】:
如何在 Python 3.4.3 Ubuntu 控制台中捕获特殊按键?
我发现了这个:
import tty, sys, termios, select
def setup_term(fd, when=termios.TCSAFLUSH):
mode = termios.tcgetattr(fd)
mode[tty.LFLAG] = mode[tty.LFLAG] & ~(termios.ECHO | TERMIOS.ICANON)
termios.tcsetattr(fd, when, mode)
def getch(timeout=None):
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
try:
setup_term(fd)
try:
rw, wl, xl = select.select([fd],[],[],timeout)
except select.error:
return
if rw:
return sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
但它不会检测到按下 F1、Alt、Ctrl 和类似键。
如果可能的话,我不想添加任何软件包。
对不起我的英语
【问题讨论】:
标签: ubuntu python-3.x