Как сделать передвижение в 5 пикселей курсора при нажатии клавиши w в PyAutoGui

Вот код:

import pyautogui
import keyboard

print("""
Управление:
Левый шифт = Клик
w a s d = Управление мышью
""")


wk = 10 ,0

key = 'left shift'
key2 = 'w'
while True:
    if keyboard.is_pressed(key):
       pyautogui.click() 
while True:
    if keyboard.is_pressed(key2):
       pyautogui.moveTo(10,0,interval=10) 

Ответы (2 шт):

Автор решения: user413816

Во-первых первый цикл нигде не обрывается. Во-вторых, если вы хотите перемещать курсор с текущего положения, то воспользуйтесь pyautogui.position(). Распакуйте его в две переменные соответствующие x и y положения курсора на экране и потом делайте перемещение добавляя текущую позицию pyautogui.moveTo(dx + 5, dy) . За dx и dy я взял текущую позицию курсора.

→ Ссылка
Автор решения: James_Crumble
    import pyautogui
    import keyboard
    
    print("""
    Управление:
    Левый шифт = Клик
    w a s d = Управление мышью
    """)
    
    positionPenalty = 25
    
    leftClick = 'left shift'
    
    keyUp, keyLeft, keyDown, keyRight = 'w', 'a', 's', 'd'
    
    while True:
        mousePosition = [pyautogui.position()[0], pyautogui.position()[1]]
        print(mousePosition)
        if keyboard.is_pressed(keyUp):
            mousePosition[1] -= positionPenalty
            pyautogui.moveTo(mousePosition[0], mousePosition[1])
        elif keyboard.is_pressed(keyLeft):
            mousePosition[0] -= positionPenalty
            pyautogui.moveTo(mousePosition[0], mousePosition[1])
        elif keyboard.is_pressed(keyDown):
            mousePosition[1] += positionPenalty
            pyautogui.moveTo(mousePosition[0], mousePosition[1])
        elif keyboard.is_pressed(keyRight):
            mousePosition[0] += positionPenalty
            pyautogui.moveTo(mousePosition[0], mousePosition[1])
        elif keyboard.is_pressed(leftClick):
            pyautogui.click(button='left')

Не знаю для чего тебе это, но вот решение написанное за 5 минут)))

→ Ссылка