如何在Python中检测ALT + 键组合
我刚接触Python,正在使用curses这个库。我想要检测一些按键组合,比如ALT+F之类的。目前,我使用getch()
来获取按下的键,然后在curses窗口中打印出来。但是,无论是单独按F还是ALT+F,得到的值都是一样的。我该怎么才能检测到ALT的按键组合呢?
import curses
def Main(screen):
foo = 0
while foo == 0:
ch = screen.getch()
screen.addstr (5, 5, str(ch), curses.A_REVERSE)
screen.refresh()
if ch == ord('q'):
foo = 1
curses.wrapper(Main)
1 个回答
6
试试这个:
import curses
def Main(screen):
while True:
ch = screen.getch()
if ch == ord('q'):
break
elif ch == 27: # ALT was pressed
screen.nodelay(True)
ch2 = screen.getch() # get the key pressed after ALT
if ch2 == -1:
break
else:
screen.addstr(5, 5, 'ALT+'+str(ch2))
screen.refresh()
screen.nodelay(False)
curses.wrapper(Main)