PyAutoGui - 按键 X 秒

Rob*_*ühn 5 python controls key input pyautogui

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

我想到了这样的事情:

pyautogui.keyDown('w')
time.sleep(2)
pyautogui.keyUp('w')
Run Code Online (Sandbox Code Playgroud)

但这只是暂停了整个程序并且没有按下任何键,所以这对我没有用。

Ska*_*dix 5

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

在不释放的情况下执行键盘按键。这将使该键处于按下状态。

注意:出于某种原因,这似乎不会导致键重复,就像在文本字段上按住键盘键一样。


您需要一种不同的方法 - 您可以使用pygame - 与此

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

def hold_W (hold_time):
    import time, pyautogui
    start = time.time()
    while time.time() - start < hold_time:
        pyautogui.press('w')
Run Code Online (Sandbox Code Playgroud)