Приветствую!
Я недавно начал изучать язык Python и прошу отнестись с пониманием.
Передо мной стоит задача отслеживания перемещения мыши в ОС семейства Windows 7 и выше.
В поисках решения, я наткнулся на библиотеку pyautogui, которая позволяет получать координаты курсора на рабочем экране. Несложными вычислениями я определяю вектор и его длину, тем самым получаю информацию о направлении и скорости мыши. То, что нужно, НО! в ряде программ, где курсор отсутствует как таковой, отследить движение мыши я не могу. Ниже я привожу пример кода, который позволяет это сделать.
Собственно, проблема в том, что я не нашел способа получения информации о скорости и направлении мыши другим образом.
Углубленное изучение проблемы, вывело меня на возможность подключения библиотек сторонних языков программирования, которые с легкостью способны получать информацию напрямую с мыши. Но для меня это слишком сложно, писать код на другом, более функциональном языке, что бы внедрить его в Python.
Вопрос:
Возможно ли реализовать получение информации о скорости и направлении мыши (не курсора), используя средства и библиотеки Python?
Я недавно начал изучать язык Python и прошу отнестись с пониманием.
Передо мной стоит задача отслеживания перемещения мыши в ОС семейства Windows 7 и выше.
В поисках решения, я наткнулся на библиотеку pyautogui, которая позволяет получать координаты курсора на рабочем экране. Несложными вычислениями я определяю вектор и его длину, тем самым получаю информацию о направлении и скорости мыши. То, что нужно, НО! в ряде программ, где курсор отсутствует как таковой, отследить движение мыши я не могу. Ниже я привожу пример кода, который позволяет это сделать.
Python:
import pyautogui,time
pyautogui.failsafe = True
#pyautogui.pause = 0.01
pos = (0,0)
posOld = (0,0)
rezk = 200 #Переменная, определяющая предел резкости
#derg = 2 #Переменная, определяющая мощность "мисса"
sch = 0
vec = [0,0]
while 1 == True:
pos = pyautogui.position() #Определяю первое положение курсора для вычисления вектора
vec[0] = posOld[0]-pos[0] #Вычисляю первое значение вектора и заножу в список
vec[1] = posOld[1]-pos[1] #Вычисляю второе значение вектора и заношу в список
silvec = round((vec[0]**2+(vec[1])**2)**0.5,1) #Вычисляю длину вектора, скорость курсора за 0.1 сек.
# if (pos[1] > posOld[1] or pos[1] < posOld[1]) or (pos[0] > posOld[0] or pos[0] < posOld[0]):
if silvec > rezk: #Условие, позволяющее отслеживать скорость курсора
# x = vec[0]/-(derg)
# y = vec[1]/-(derg)
# pyautogui.moveRel(x,y)
# pyautogui.moveTo(pos[0]+10,pos[1]+10)
print('BAN NAHUI',sch,silvec) #Скорость превышает значение
print(posOld,pos,vec)
# print(x,y)
sch +=1
elif silvec > 0:
print('NE BAN',sch,silvec) #Скорость не превышает значение
sch +=1
posOld = pyautogui.position() #Определяю второе положение курсора для вычисления вектора
time.sleep(0.1) #Интервал времени, определяющий, как часто определять вектор
Собственно, проблема в том, что я не нашел способа получения информации о скорости и направлении мыши другим образом.
Углубленное изучение проблемы, вывело меня на возможность подключения библиотек сторонних языков программирования, которые с легкостью способны получать информацию напрямую с мыши. Но для меня это слишком сложно, писать код на другом, более функциональном языке, что бы внедрить его в Python.
Вопрос:
Возможно ли реализовать получение информации о скорости и направлении мыши (не курсора), используя средства и библиотеки Python?