带有msvcrt的Python密钥记录器

时间:2017-06-16 19:26:41

标签: python logging key keypress keylistener

我正在尝试使用msvcrt模块为自驾车创建一个python Keylistener。但它没有捕获我按下的键。这是代码:

if msvcrt.getwch() == 'w':
    keypresses.append(1)
elif msvcrt.getwch() == 's':
    keypresses.append(2)
elif msvcrt.getwch() == 'd':
    keypresses.append(3)
elif msvcrt.getwch() == 'a':
    keypresses.append(4)
elif msvcrt.getwch() == 'w'and'a':
    keypresses.append(5)
elif msvcrt.getwch() == 'w'and'd':
    keypresses.append(6)
elif msvcrt.getwch() == 's'and'a':
    keypresses.append(7)
elif msvcrt.getwch() == 's'and'd':
    keypresses.append(8)
else:
    keypresses.append(0)

有人可以告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您的代码的主要问题是您正在检查每个if语句中的新按键,而不是保存按键一次并检查结果是什么。 要保存按键一次,您应该这样做:

keypress = msvcrt.getwch()

然后检查按键的值。即:

if keypress == "a":
   print("The 'a' key has been pressed')