Отследить движение мыши пока зажата клавиша в Python

Я новичок в пайтон (да и вообще в программировании). Пытаюсь в качестве первой своей программы написать аналог Chat Wheel из Доты 2 (см. скрин), но с какими-нибудь полезными функциями для Windows.колесо быстрых команд

Суть - зажимается на клавиатуре клавиша G и пока она нажата всплывает окно нашей программы, в котором есть равные деления. Если подвести мышку к нужной стороне и отпустить G - выполняется ее функция к примеру Скопировать в буфер. А если подвести к другой стороне и отпустить, то выполняется команда Вставить из буфера. Если же оставить мышь около центра - то ничего не произойдет при отпускании клавиши G.

Моя сложность заключается в том, что я не понимаю как работать с потоками (и не понимаю какие слова гуглить в части этого), а именно :

  1. как мне постоянно получать значения X и Y координат мышки во время работы listner'а для визуального оформления программы
  2. как мне прекратить работу listner после отпускания клавиши G и получить последние значения координат X Y

Из библиотеки pynpyt нашел и чуть упростил example постоянно спамящий координаты мышки при ее движении:

from pynput import mouse


def on_move(x, y):
    print(x, y)


# Collect events until released
with mouse.Listener(on_move=on_move) as listener:
    listener.join()

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


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