捕捉键盘击键不可靠/ Python

时间:2018-09-13 09:33:14

标签: python keyboard keypress msvcrt

背景是设计一个循环循环运行的程序,以从某处读取实时数据。我希望此程序可以通过键盘(没有“ Enter”)进行交互来控制。为此,我遇到了以下片段。

import msvcrt

def keypress():
    try:
     if msvcrt.kbhit(): #Keyboard hit?
        key = msvcrt.getch().decode("utf-8").lower()    
        return key
    except UnicodeDecodeError:
     pass

while not False:
    print('rainy rainy rain rain')
    if keypress() == "e": #e: exit
        exit()
    if keypress() == "w": # w: wait
        waiting = True
        while waiting == True:
            print("waiting waiting waiting")
            if keypress() == "w":
                waiting = False

我知道调用一个新的无限循环只是为了等待它是轻率的,但是疯狂的事情是,“ e”的命中似乎比“ w”的命中更成功。但是在每种情况下,都根本没有记录到一些点击。 ->有没有办法解决这个问题? Windows也可以捕获所有键盘击键!

0 个答案:

没有答案