Отследить движение мыши пока зажата клавиша в Python
Я новичок в пайтон (да и вообще в программировании).
Пытаюсь в качестве первой своей программы написать аналог Chat Wheel из Доты 2 (см. скрин), но с какими-нибудь полезными функциями для Windows.
Суть - зажимается на клавиатуре клавиша G и пока она нажата всплывает окно нашей программы, в котором есть равные деления. Если подвести мышку к нужной стороне и отпустить G - выполняется ее функция к примеру Скопировать в буфер. А если подвести к другой стороне и отпустить, то выполняется команда Вставить из буфера. Если же оставить мышь около центра - то ничего не произойдет при отпускании клавиши G.
Моя сложность заключается в том, что я не понимаю как работать с потоками (и не понимаю какие слова гуглить в части этого), а именно :
- как мне постоянно получать значения X и Y координат мышки во время работы listner'а для визуального оформления программы
- как мне прекратить работу 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. также буду очень признателен если дадите пинок в нужных направлениях по библиотекам для написания такой программы, к примеру через что лучше сделать визуальную составлящую.