Горячие клавиши Alt+стрелка или Alt+pageDown (pageUp) - проблема

NickolayF

Новичок
Пользователь
Июл 12, 2020
1
0
1
Здравствуйте!

Только начал использовать питон вместо программ для создания макросов. Вроде открылось много больше возможностей, но вот...
Потребовалось написать макрос для работы (вставка и уменьшение-увеличение картинки в онлайн-редакторе) с помощью цифр, pageDown, pageUp и стрелок.

Использовал keyboard.add_hotkey для назначения горячих клавиш.

Оказывалось, что при нажатии ALT + pageDown, ALT + pageUp, Alt+стрелка отправляется сразу два набора горячих клавиш. Например:
(Alt+pageDown и Alt+3)
(Alt+Down и Alt+2)
Цифра совпадает с той что стоит на клавиатурном блоке с NUMLOCK вместе с этой стрелкой или PgUP / PgDown.

И в результате выполняется одновременно две назначенные на горячие клавиши функции. Происходит беспорядочное нажатие всего и открытие левых окон…

Попытка включать и отключать вручную Numlock, Сменить клавиатуру, переустановить виндоус, использовать вместо keyboard.add_hotkey keyboard.Listener - все не помогло. При этом без разницы на каком блоке нажимать клавиши (с цифрами или без).

Может кто все же подскажет как разделить. Например как поставить горячую клавишу на код клавиши. Хотя бы направление....

Нbже код. Он очень простой, но думаю дело не в нем, так как если сменить горячие клавиши все работает нормально.

Код:
#Функция для уменьшения - увеличения фото в редакторе

def photoplus(n):

    pyautogui.click(427, 277)

    time.sleep(0.2)

    pyautogui.click(1730, 1218)

    pyautogui.keyDown('ctrl')

    pyautogui.keyDown('a')

    pyautogui.keyUp('a')

    pyautogui.keyDown('c')

    pyautogui.keyUp('c')

    pyautogui.keyUp('ctrl')

    pyautogui.press('delete')

    num = clipboard.paste()

    time.sleep(0.1)

    num=num.strip()

    num=num.strip('%')

    num = (Decimal(num))*10 + n

    num=num/10

    itog=str(num)+"%"

    clipboard.copy(itog)

    time.sleep(0.4)

    pyautogui.hotkey('ctrl', 'v')

    time.sleep(0.2)

    pyautogui.click(2332, 1576)

[B]#Функция для вставки  фото в редакторе[/B]

def photo(n):

    pyautogui.click(1742, 1015)

    pyautogui.keyDown('ctrl')

    pyautogui.keyDown('a')

    pyautogui.keyUp('a')

    pyautogui.keyDown('c')

    pyautogui.keyUp('c')

    pyautogui.keyUp('ctrl')

    urlphoto = clipboard.paste()

    pyautogui.click(1708, 1219)

    pyautogui.hotkey('ctrl', 'a')

    pyautogui.press('delete')

    clipboard.copy(n)

    pyautogui.hotkey('ctrl', 'v')

    pyautogui.press('tab')

    pyautogui.hotkey('ctrl', 'a')

    pyautogui.press('delete')

    pyautogui.click(1436, 797)

    clipboard.copy(urlphoto)

    pyautogui.click(1530, 914)

    pyautogui.hotkey('ctrl', 'a')

    pyautogui.press('delete')

    pyautogui.hotkey('ctrl', 'v')

    pyautogui.press('tab', presses=3)

    pyautogui.typewrite('3')

    pyautogui.click(2330, 1574)

keyboard.add_hotkey('Alt + pagedown', photoplus, args=(-10, ))

keyboard.add_hotkey('Alt + 3', photo, args=('31%',))
 

Форум IT Специалистов