Как использовать боковые кнопки мыши с Pynput? - PullRequest
0 голосов
/ 30 сентября 2018

Я использую модуль Python Pynput, чтобы создать макрос, который будет нажимать одну из моих боковых кнопок.Кто-нибудь знает как называются боковые кнопки в Pynput?Например:

from pynput.mouse import Button, Controller

mouse = Controller()

mouse.press(Button.SIDEBUTTON)
mouse.release(Button.SIDEBUTTON)

Что будет в части SIDEBUTTON?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

К сожалению, в pynput такой функции нет, и если вы запустите этот код и нажмете боковые кнопки мыши, вы поймете, что он не даст никакого вывода:

from pynput import mouse


def on_click(x, y, button, pressed):
    if pressed:
        print ('Mouse clicked {2}'.format(x, y, button))


with mouse.Listener(on_click=on_click) as listener:
    listener.join()
0 голосов
/ 30 сентября 2018

Дополнительными кнопками на моделях мыши являются , обычно , сообщаемые как «Кнопка 6» и «Кнопка 7» и т. Д. (Кнопки 4 и 5 являются «кнопками» прокрутки).Некоторые производители мыши вместо этого отправляют коды клавиатуры (например, мультимедийные кнопки или другие пользовательские коды).

Для Windows и OS X Pynput поддерживает только левую, правую и среднюю кнопки мыши, поэтому вам не повезет наэти платформы для Pynput.Если вы работаете в Linux (с бэкэндом X.org), вы можете отправлять и получать больше кнопок, от button8 до button31, а также scroll_up, scroll_down, scroll_left и scroll_right.

Таким образом, в зависимости от используемой модели мыши и вашей операционной системы, вы можете получить правильные события для этих кнопок, будь то кнопки мыши илисобытия клавиатуры.Зарегистрируйте прослушиватель [мыши] и клавиатуры , распечатайте значение кнопки для событий нажатия кнопки мыши и клавишу для событий нажатия или отпускания клавиатуры, и посмотрите, сможете ли вы получить свою сторонукнопка для отображения.

Если не в Linux, если определенные кнопки мыши отправляются как события клавиатуры, вам повезло, и вы можете использовать контроллер клавиатуры для отправки тех же событий.Если нет, то Pynput также не может отправлять такие события кнопок мыши.

Это не значит, что вы вообще не можете отправлять такие нажатия кнопок, но вам придется изучить исходный код используемого контроллера.для Windows или OSX, а затем посмотрите, как базовая структура будет принимать другие нажатия кнопок, кроме левой, правой и средней.

...