【问题标题】:Detect keyboard press检测键盘按下
【发布时间】:2018-10-24 12:51:09
【问题描述】:

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

请记住,它是 Python 2.7

【问题讨论】:

标签: python events keyboard


【解决方案1】:

我假设您的意思是在控制台中,而不是在 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 循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-01
    • 2016-09-20
    • 2013-04-07
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2017-02-16
    相关资源
    最近更新 更多