微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python-获取原始鼠标输入

如何解决Python-获取原始鼠标输入

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

我正在使用Windows。

编辑:为澄清起见,当我说“左信号和右信号”时,我指的是鼠标运动,而不是鼠标单击, 编辑2:我相信术语是我想要“鼠标三角洲”。人们是通过自动热键-https://www.autohotkey.com/boards/viewtopic.php?t=10159-来做到这一点的,但是我想要在Python中实现。

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

解决方法

获取鼠标位置并比较两个事件。如果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()        
,

您始终可以不断地比较容易给您带来变化的位置。任何较低级别的API都必须自己编写鼠标驱动程序,这是游戏开发人员为防止人们编写脚本所做的工作,而这并不是python的目的。

import pyautogui
import time


while True:
    prev_x,prev_y = pyautogui.position()
    time.sleep(0.3)
    curr_x,curr_y = pyautogui.position()
    if (curr_x - prev_x) > 0:
        print("move right")
    else:
        print("move left")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。