Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2020 09:57:10

NickolayF
Зарегистрирован: 2020-07-12
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

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

Здравствуйте!

Только начал использовать питон вместо программ для создания макросов. Вроде открылось много больше возможностей, но вот…
Потребовалось написать макрос для работы (вставка и уменьшение-увеличение картинки в онлайн-редакторе) с помощью цифр, 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 - все не помогло. При этом без разницы на каком блоке нажимать клавиши (с цифрами или без).

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

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

 #Функция для уменьшения - увеличения фото в редакторе
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%',))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version