KeymouseGo 使用指南:鼠标键盘操作录一次,让电脑替你回放任意多遍
【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo
KeymouseGo 是一款用 Python 写的绿色"精简版按键精灵":把你的鼠标键盘操作原样记下来,再按你设定的次数替你重放。支持 Windows、Linux、macOS,有打包好的可执行文件,不装 Python 也能跑。适合每天有大量单调重复操作的人。
适用场景
- 如果你正在往网页表单里逐行填同一套数据,可以让它替你一行行输入。
- 如果你需要在多台机器上点同一套按钮,分发脚本后各机自动回放即可。
- 如果你要反复跑一遍游戏、教程里的固定操作,把次数设大,去做别的事。
- 如果你需要长时间定点循环点击,把次数设为
0即可无限执行。
快速上手:5 分钟完成第一次录制 🎬
获取程序有两条路:不熟悉 Python 就直接用 release 里的可执行文件,双击KeymouseGo运行;想改代码或自己打包,就从源码起步,需要 Python 3.7 以上:
git clone https://gitcode.com/gh_mirrors/ke/KeymouseGo pip3 install -r requirements-universal.txt # Linux/macOS pip install -r requirements-windows.txt # Windows python3 KeymouseGo.py装完依赖后,四个动作完成首次录制与回放:
- 点界面上的录制按钮,开始记录。
- 正常操作电脑:点窗口、点按钮、敲几个字,这些动作都会被记下。
- 点结束停止录制,
scripts/目录下会多出一个带时间戳的新脚本文件,格式是json5。 - 在界面设置执行次数,点启动,电脑就把第 2 步重放一遍。默认
F6等同于启动,F9用于中止。
进阶用法
不开界面直接跑脚本
用途:批量跑任务、挂定时任务,连窗口都不用开。
做法:命令行里直接给脚本路径:
./KeymouseGo scripts/0314_1452.txt ./KeymouseGo scripts/0314_1452.txt -rt 3效果:第二条命令让脚本连跑 3 遍。-rt(全称--runtimes)控制执行次数,填0就是无限循环;回放期间按F9随时叫停。
手改坐标和延迟
用途:微调回放节奏,或把点击位置挪到别处。
做法:脚本是一串有序事件,每个事件四要素:delay(距上一事件的毫秒数)、event_type(EM鼠标、EK键盘、EX输入)、action_type(如mouse left down)、action(坐标或按键值)。比如这条是在屏幕相对坐标 (0.2604, 0.4630) 按下左键:
{type: "event", event_type: "EM", delay: 100, action_type: "mouse left down", action: ["0.2604%", "0.4630%"]}效果:改一个delay,回放节奏立刻变;坐标写成[-1, -1]则"在鼠标当前位置操作",不用管它现在漂在哪。字段细节见 README.md 的"脚本语法说明"。
插件挂载新能力
用途:给脚本加 OCR 识别、网络请求、条件判断,这些内核本身不提供。
做法:KeymouseGo 是微内核设计,内核只管录制回放。把插件放进plugins/目录,每个插件一个文件夹,内含manifest.json5清单;插件类继承 Plugin/Interface.py 定义的接口,Plugin/Manager.py 启动时扫描目录、解析清单、动态加载,把函数汇入统一注册表,脚本里按名字直接调用。
效果:改完插件重启程序即生效,不用重新编译。
工作原理:换分辨率,为什么落点不偏 🔍
现象:同一个脚本拿到不同分辨率的屏幕上,点击位置基本还是准的。
原理:录制时把像素坐标除以屏幕宽高(x/ScreenWidth、y/ScreenHeight)存成百分比,回放时再乘当前屏幕宽高还原。Windows 端还声明了 DPI 感知,并用归一化坐标(0~65535 区间)移动鼠标,规避大部分缩放漂移。
对你意味着什么:放心换分辨率,但别换缩放。两台机器的"显示 → 缩放"比例不一致(比如 100% 对 125%),点击就会整体跑偏,回放前先把两边对齐。
平台差异靠策略模式消化:录制端 Recorder/UniversalRecorder.py 负责 Linux/macOS,回放端是Event/UniversalEvents.py与 Windows 专属实现,两套类继承同一组接口,上层完全不感知平台。
| 平台 | 底层方式 | 特点 |
|---|---|---|
| Windows | pyWinhook+ Win32 API | 钩子抓取,精度高,支持多显示器 |
| Linux / macOS | pynput(X11/Wayland 或 Quartz) | 免驱动,个别环境需指定对应后端 |
排错手册
| 症状 | 常见原因 | 解决办法 |
|---|---|---|
| 鼠标事件时有丢失,录制不完整 | 权限不够 | Windows 用管理员身份、Linux 用 root 身份运行 |
| Linux 上录不了或执行不了 | pynput后端不对 | Xorg 用_xorg导入,Wayland 用_uinput,README 打包命令里有现成写法 |
| macOS 启动后闪退 | 缺少辅助功能权限或写权限 | 把程序连同终端加入"辅助功能"白名单;仍闪退就chmod -R 770 ~/.qt_material |
| 换台机器回放,点击偏移 | 两台机器显示缩放不同 | 先对齐两边缩放比例再跑,多数偏移直接解决 |
| 回放时鼠标"飞"过去或跟不上 | 录制时鼠标速度超过执行上限 | 放慢操作重新录一遍 |
| 自定义热键没生效 | 与系统快捷键撞车 | Middle是中键、XButton是侧键,设置前先确认无冲突 |
结语
花一分钟就能验证一遍全流程:录一段 30 秒的日常操作,按F6回放一次,再打开scripts/里刚生成的文件改一个delay重放对比快慢——这是理解它内部机制最快的方式。想扩展能力就从 Plugin/ 目录入手,项目开源,修复和功能建议欢迎提交到 dev 分支,仓库获取方式:git clone https://gitcode.com/gh_mirrors/ke/KeymouseGo。
【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考