Чтобы программа работала плавно, мне нужно установить:
Код: Выделить всё
pyautogui.PAUSE = 0
Код: Выделить всё
RuntimeError: Expected reply for request 833, but got 834. Can't happen!
Код: Выделить всё
import time
import threading
import Xlib.threaded # this is to make the Xlib dependency of pyautogui threadsafe
import pyautogui as pag
pag.FAILSAFE= False
pag.PAUSE = 0
PIPE_PATH = "my path to named pipe"
screenWidth, screenHeight = pag.size()
global first_touch
first_touch = True
global previous_time
previous_time = None
def touch_timeout() -> None:
global first_touch
global previous_time
while True:
if previous_time != None:
while True:
local_time = time.time()
if local_time - previous_time > 0.01:
pag.mouseUp() # error appears here
first_Touch = True
timeout_thread = threading.Thread(target=touch_timeout)
timeout_thread.start()
with open(PIPE_PATH, "r") as f:
while True:
for message in f:
previous_time = time.time()
# packet handling logic here ...
# ...
pag.moveTo(xcoord, ycoord)
if first_touch:
pag.mouseDown()
first_Touch = False
- Я отключил поток (что лишает возможности перемещения мыши вверх, но для этого теста это подходит). Это привело к отсутствию ошибок и плавной работе.
- Я настроил pag.PAUSE на различные значения. Все значения, отличные от 0, работают слишком медленно и не обеспечивают требуемой производительности. Однако чем выше значение, тем реже возникает указанная ошибка.
Подробнее здесь: https://stackoverflow.com/questions/799 ... -pyautogui
Мобильная версия