首页 > 解决方案 > Python - 获取原始鼠标输入

问题描述

我想使用 Python 从鼠标中读取原始数据(例如左信号、右信号),而与鼠标指针无关。我不想读取光标的位置,我想读取原始数据,类似于游戏的方式。我怎样才能做到这一点?我找不到任何支持它的库。

我正在使用 Windows。

编辑:澄清一下,当我说“左信号和右信号”时,我的意思是鼠标移动,而不是鼠标点击,编辑 2:我相信术语是我想要“鼠标增量”。这就是人们在 autohotkey 中的做法 - https://www.autohotkey.com/boards/viewtopic.php?t=10159 - 但我想要在 Python 中使用它。

编辑3:我应该提到这是在不断重置指针位置的游戏中,所以我不能使用指针位置的差异。这就是为什么我想要一个较低级别的 API。

标签: pythonmousemouselistener

解决方案


获取鼠标位置并比较两个事件。如果 x 轴值增大,鼠标向右移动,如果 x 轴值减小,鼠标向左移动:

from pynput.mouse import Listener

last_position = None

def on_move(x, y):
    global last_position
    if last_position:
        if x > last_position:
            print('mouse moved right')
        elif x < last_position:
            print('mouse moved left')
    last_position = x

with Listener(on_move=on_move) as listener:
    listener.join()        

推荐阅读