检测键盘按下

时间:2018-05-14 19:12:56

标签: python events keyboard

我想制作一个程序,当你点击键盘上的按钮时运行代码,例如,我按A并运行一些代码,但我不必按回车或输入它来运行它。就像在电子游戏中一样,如果按下W,你的角色会移动。对不起,如果措辞严重,我对此非常困惑。

请记住它是Python 2.7

1 个答案:

答案 0 :(得分:0)

我假设你的意思是在控制台中而不是像tkinter那样的任何gui。

我建议使用pynput(pip install pynput)

代码与此类似

from pynput.keyboard import Key, Listener

def on_press(key):
    print('{0} pressed'.format(
        key))

def on_release(key):
    print('{0} release'.format(
        key))
    if key == Key.esc:
        # Stop listener
        return False

while True:
    with Listener(on_press=on_press,on_release=on_release) as listener:
        listener.join()

警告语: 上面的代码也捕获了退出键,因此ctrl + c不会停止控制台。为此,当按下ctrl + c时,你需要实现一些突破While循环的东西。