Задать вопрос
@GrimSmol

Не нажимаются клавижи в майнкрафт с помощью pyautogui, как это можно провернуть?

import pyautogui
from time import sleep
sleep(5)
pyautogui.keyDown('ctrl')
sleep(0.5)
pyautogui.keyDown('D')
sleep(5)
pyautogui.keyUp('D')
sleep(0.5)
pyautogui.keyDown('A')
sleep(5)
pyautogui.keyUp('A')
sleep(0.5)
pyautogui.keyUp('ctrl')

так же видно что он не регистрирует нажатия A D и другие, все кроме Ctrl, это можно понять что он сразу отпускает его через 0.5сек
  • Вопрос задан
  • 618 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@FCKJesus
Как я понял вы ожидаете что D и A будут зажаты на 5 секунд.
На сколько я помню буквы нельзя зажать, но можно с имитировать зажатие.
import pyautogui
import time


def press_key(key: str, time: int):
    """
    key: Клавиша
    time: Время зажатия
    """
    amount_of_clicks = time // 0.03
    pyautogui.press(keys=key, presses=int(amount_of_clicks), interval=0.03)


time.sleep(5)

with pyautogui.hold('ctrl'):
    press_key("d", 5)
    time.sleep(0.5)
    press_key("a", 5)
Ответ написан
yxtiblin
@yxtiblin
Ваш код нажимает, после отпускает кнопку, а уже потом ждет sleep
в офф документации есть функция hold() которая будет зажимать пока другие инструкции не выполняться
# зажимает shift и 3 раза жмет налево
with pyautogui.hold('shift'):
        pyautogui.press(['left', 'left', 'left']) 
# в вашем случае можно попробовать сделать так
with pyautogui.hold('shift'):
        sleep(n) # n - время зажатия
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽