科学工具
科学工具让世界更美好
让世界更美好

KeymouseGo 鼠标键盘自动化工具(精简绿色版按键精灵)KeymouseGo 鼠标键盘自动化工具(精简绿色版按键精灵)

KeymouseGo 是一款类似按键精灵的鼠标工具,能够记录用户的鼠标和键盘操作,通过触发按钮自动执行之前记录的操作,可以设置执行次数,就是精简绿色版的按键精灵,适合处理简单、单调重复的工作,只需亲自操作一遍,后续就能交给电脑自动完成。

安装方法

KeymouseGo 使用 Python 编写,已打包为可执行文件,未安装 Python 的用户可以直接下载 release 版本运行。

源码打包可执行文件

Windows 系统

1、安装 Python3

2、运行命令:pip install -r requirements-windows.txt

3、安装 PyInstaller:pip install pyinstaller

4、打包程序:pyinstaller -F -w --add-data "./assets;assets" KeymouseGo.py

Linux 或 Mac 系统

1、安装 Python3

2、运行命令:pip3 install -r requirements-universal.txt

3、安装 PyInstaller:pip3 install pyinstaller

4、打包程序:pyinstaller -F -w --add-data "./assets:assets" KeymouseGo.py

使用方法

基本操作

桌面模式

1、点击"录制"按钮开始记录操作

2、在计算机上进行任意操作,如点击鼠标、键盘输入等,这些动作会被记录下来

3、点击"结束"按钮停止录制

4、点击"启动"按钮,电脑将重复执行之前录制的操作

命令行模式

• 直接运行指定脚本:> ./KeymouseGo scripts/0314_1452.txt

• 运行指定脚本3次:> ./KeymouseGo scripts/0314_1452.txt -rt 3> ./KeymouseGo scripts/0314_1452.txt --runtimes 3

• 以200%的速度运行指定脚本:> ./KeymouseGo scripts/0314_1452.txt -sp 200> ./KeymouseGo scripts/0314_1452.txt --speed 200

• 加载自定义扩展 MyExtension 运行指定脚本:> ./KeymouseGo scripts/0314_1452.txt -m MyExtension> ./KeymouseGo scripts/0314_1452.txt --module MyExtension

提示:

1、可设置脚本重复执行次数,设为0表示无限循环

2、默认启动热键为F6,功能等同于"启动"按钮;默认终止热键为F9,按下后会停止正在运行的脚本

3、录制时只记录鼠标点击和键盘动作,不记录鼠标移动轨迹

4、每次录制结束后会在scripts目录下生成新的脚本文件

5、运行前可在列表中选择需要执行的脚本

6、scripts下的脚本文件内容可以修改,修改时可参考脚本格式说明

7、热键设置中的Middle指代鼠标中键,XButton指代鼠标侧键

8、部分系统环境中可能出现无法录制完整鼠标事件的情况,请以管理员身份/root身份运行此工具

9、使用Mac的用户需要确保程序在辅助功能白名单中,如果使用打包的exec文件,还需要确保终端也在辅助功能白名单中

10、如果app程序闪退,请尝试给予 ~/.qt_material 目录下文件的写权限:chmod -R 770 ~/.qt_material

脚本语法说明

演示屏幕分辨率为1920*1080:

[ [3000, "EM", "mouse right down", ["0.05208%", "0.1852%"]], // 开始运行 `3000ms` 后,在屏幕相对坐标 `(0.05208, 0.1852)` 即 `(100,200)` 处 `按下鼠标右键`
[50, "EM", "mouse right up", ["0.05208%", "0.1852%"]], // 等待 `50ms` 后在相同位置 `抬起鼠标右键`
[1000, "EK", "key down", [70, "F", 0]], // 等待 `1000ms` 后 `按下f键`
[50, "EK", "key up", [70, "F", 0]], // 等待 `50ms` 后 `抬起f键`
[100, "EM", "mouse left down", ["0.2604%", "0.4630%"]], // 等待 `100ms` 后,在屏幕相对坐标 `(0.2604, 0.4630)` 即 `(500, 500)` 处 `按下鼠标左键`
[100, "EM", "mouse move", ["0.2604%", "0.5556%"]], // 等待 `100ms` 后,鼠标移动至相对坐标 `(0.2604, 0.5556)` 即 `(500, 600)` 位置
[100, "EM", "mouse left up", ["0.3125%", "0.5556%"]], // 等待 `100ms` 后,在屏幕相对坐标 `(0.3125, 0.5556)` 即 `(600, 600)` 处 `抬起鼠标左键`
[100, "EX", "input", "你好 world"], // 等待 `100ms` 后,在当前位置输入 `你好 world` 文字。
]

脚本为json格式,每一行代表一次动作:

• 每行的第1个元素表示时间间隔,指本次动作与上一次动作之间相隔的时间,单位为毫秒

• 每行的第2个元素表示鼠标动作或是键盘动作:EM为鼠标,EK为键盘,EX为其他拓展动作

• 每行的第3个元素表示动作的类型:mouse left down为鼠标左键按下,mouse left up为鼠标左键抬起,mouse right down为鼠标右键按下,mouse right up为鼠标右键抬起,mouse middle down为鼠标中键按下,mouse middle up为鼠标中键抬起,mouse wheel up为鼠标滚轮上滑,mouse wheel down为鼠标滚轮下滑,key down为键盘按键按下,key up为键盘按键抬起,mouse move为鼠标滑过,input输入文字

• 每行的第4个元素表示具体的动作参数:当为鼠标动作时,由两个子元素构成,分别为鼠标所在的屏幕位置的横纵坐标;当为键盘动作时,由三个子元素构成,分别是(按键编号, 按键名, 拓展标记);当为输入文字动作时,为要输入的文字内容

• 每行 // 后的部分为注释内容

修改时请严格遵守格式,否则可能导致脚本无法运行,建议修改前先备份。横纵坐标为[-1, -1]时,表示在鼠标当前所在位置执行操作。

自定义扩展功能

自定义扩展功能的使用详见项目wiki。

更新说明

• v5.1:支持Linux和Mac环境运行;支持多屏环境运行(仅Windows);修复程序在执行连点操作时有概率崩溃的问题;修复文件选择器选择脚本后选项卡未更新的问题

• v5.0:初步实现自定义扩展功能;可调整提示音音量;增加脚本重命名/编辑子窗口;添加英文文档;增加简单日志窗口;适应高分辨率(在高分辨率情况下放大窗口)

• v4.1:添加命令行运行能力

• v4.0:使用PySide2重写UI;快捷键支持鼠标中键与侧键;相关issue提出的功能需求实现

• v3.2.2:修复input事件无法输入内容的bug

• v3.2.1:修复中文注释无法解析的bug

• v3.2:脚本文件中可使用//进行内容注释;可录制鼠标轨迹(mouse move事件),并可在软件中设置轨迹精度,填0即不录制轨迹

• v3.1:命令行启动模式中可以随时按下F9热键来终止脚本运行;模拟鼠标点击的脚本语句中可以设定坐标点为[-1, -1],用以表示在鼠标当前位置直接点击

• v3.0:因兼容macOS遇到阻碍,改回使用win32api来模拟事件,只支持Windows系统;解决shift + 上下左右的回放问题;增加录制鼠标路径功能;增加文字输入功能;因为使用了win32api,不需要再手动设置屏幕缩放比例了;录制脚本语法有部分改动,不向前兼容

• v2.2:优化脚本格式,将动作时间间隔放到每行脚本的首位,逻辑更加合理;默认录制的第一个动作不加时间间隔,即按下启动按钮后立即执行第一个动作;如果重复多次执行,可修改脚本中第一个动作的时间(单位毫秒)来决定每轮动作之间的相隔时间

• v2.1:增加屏幕缩放配置,兼容修改过屏幕缩放比例的win10系统;优化代码,兼容Python3

• v2.0:代码优化重构;使用pynput实现动作捕捉和执行,不再需要安装pywin32和pyhook;兼容macOS(需要在隐私设置中允许程序控制电脑)

• v1.5:修复自定义缩放后录制定位偏移Bug

• v1.4:增加命令行运行方式

• v1.3:Bug修复

• v1.2:UI更新;移除后台模式;简化录制脚本,增强可读性;脚本文件名优化,可录制多个脚本,避免误操作覆盖

注意:部分系统环境中可能出现无法录制完整鼠标事件的情况,请以管理员身份/root身份运行此工具。使用Mac的用户需要确保程序在辅助功能白名单中,如果使用打包的exec文件,还需要确保终端也在辅助功能白名单中。如果app程序闪退,请尝试给予 ~/.qt_material 目录下文件的写权限:chmod -R 770 ~/.qt_material