目的

使用python,捕捉鼠标位置,同时使用键盘控制捕捉时机

代码片

一个用a触发的例子

def get_op_seq():
    import keyboard
    import pyautogui
    
    # 定义标记每一次单击
    temp_op_names =  ["单击1","单击2","单击3"]    

    op_seq = []       #用于存储单击位置x,y
    
    def record_xy():
    
        for op_name in temp_op_names:
            x, y = pyautogui.position()      #  获取当前位置
            
            temp_op = (op_name,(x,y))    
            op_seq.append(temp_op)
            yield op_name        # yield 的使用参照下方参考链接

    recoder = record_xy()    # 一个生成器对象
    for i in range(len(temp_op_names)):
        keyboard.wait("a")     #在按下a之前后面的语句都不会执行
        print(next(recoder))   

    print(op_seq)                 #得到[(单击1,(x1,y1)),(单击2,(x2,y2)),]


get_op_seq()                     # 调用

注意,上面的程序执行时,每次按下a键可记录一次,可以记录三次

哪些键可以作为触发?

参考博文:Python 键盘/鼠标监听及控制

#字符
'1'
'a'
...
#控制
'ctrl'
'alt'
'shift'
'enter'
'esc'
'f1'
...
#方向键
'up'
'down'
'left'
'right'
#组合按键
'ctrl'+'alt'+'a'

依赖项的安装


def install_package():
    "安装keyboard包"
    import os
    mirror = " -i https://pypi.douban.com/simple"
    
    os.system("python -m pip install --upgrade pip" + mirror)  # 更新 pip
    
    os.system("pip install keyboard" + mirror)  # 安装 keyboard

    print("包安装成功! ")

install_package()

参考链接:

Python 键盘/鼠标监听及控制
深入理解python的yield和generator

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐