如何在 python 中按住一个键并立即松开?

How do I hold down a key and release without delay in python?

所以我想按住 c 键让我们说 0.2 秒,然后不等待甚至一点按 space 并立即释放它(0.0 秒),为此我想使用 pyautogui.keyDown("") 和 keyUp("") 会有所帮助,但它有轻微的延迟,就像我做的那样

pyautogui.keyDown("c")
pyautogui.keyUp("C")

它的作用是按住“c”键几秒钟,但我没有给它任何延迟我只是想让它按 c 键 0.0 秒我的主要事情是

import pyautogui
import time
time.sleep(0.5)

pyautogui.keyDown("c")
time.sleep(0.2) # so it would put 0.2 second delay in it i didnt know it had a delay in itself
pyautogui.keyUp("c")
time.sleep(0.5)
pyautogui.keyDown("space")
pyautogui.keyUp("space")
time.sleep(0.5)
pyautogui.keyDown("c")
time.sleep(0.2)
pyautogui.keyUp("c")
time.sleep(0.5)
pyautogui.keyDown("space")
pyautogui.keyUp("space")

time.sleep 是我想要的延迟,但它在没有 time.sleep 的情况下有自己的延迟,所以这对我来说太长了,无法安排我尝试做的事情 pyautogui.typewrite 但它大部分时间都会出现故障,如果有像保持 x 秒的事情请告诉我该怎么做

我查看了文档,显然 pyautogui 命令之间有 0.1 秒的延迟,以允许您在失控的情况下手动中断操作,记录在此处:#fail-safe。他们警告不要这样做,但你可以这样做:

import pyautogui
import time

KEY_C = "c"
KEY_SPACE = "space"

time.sleep(0.5)

pyautogui.FAILSAFE = False # danger zone
pyautogui.keyDown(KEY_C)
time.sleep(0.2)
pyautogui.keyUp(KEY_C)
pyautogui.keyDown(KEY_SPACE)
pyautogui.keyUp(KEY_SPACE)
pyautogui.FAILSAFE = True # out of danger

# do it again

time.sleep(0.5)
pyautogui.FAILSAFE = False
pyautogui.keyDown(KEY_C)
time.sleep(0.2)
pyautogui.keyUp(KEY_C)
pyautogui.keyDown(KEY_SPACE)
pyautogui.keyUp(KEY_SPACE)
pyautogui.FAILSAFE = True