PyAutoGui - 按键X秒

时间:2018-02-08 09:51:51

标签: python input controls key pyautogui

我目前正在编写一个按下“ w,a,s,d ”键的脚本,以便在任何游戏中移动角色。 为此,我需要按下“ w ”键一段特定的时间。我怎样才能做到这一点?

我想到了类似的东西:

pyautogui.keyDown('w')
time.sleep(2)
pyautogui.keyUp('w')

但这只是暂停了整个程序而没有按键被按下,所以这对我没用。

1 个答案:

答案 0 :(得分:1)

pyautogui.keyDown()中的文档字符串中所述:

  

在没有发布的情况下按键盘键。这样就可以了     处于停滞状态的关键。

     

注意:出于某种原因,这似乎不会导致密钥重复就像       如果在文本字段上按住键盘键,则会发生。

您需要采用不同的方法 - 您可以使用pygame - with this

或者,如果你想留在pyautogui,你可以尝试这样的事情:

def hold_W (hold_time):
    import time, pyautogui
    start = time.time()
    while time.time() - start < hold_time:
        pyautogui.press('w')