news 2026/8/23 16:13:23

KeymouseGo 快速上手指南:十分钟跑通跨平台鼠标键盘录制回放工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
KeymouseGo 快速上手指南:十分钟跑通跨平台鼠标键盘录制回放工具

KeymouseGo 快速上手指南:十分钟跑通跨平台鼠标键盘录制回放工具

【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo

如果你每天要在客服系统里重复填同一张表单——点十几个输入框、逐格录入、再按回车保存,这些时间都在被机械点击吃掉。KeymouseGo是一个用 Python 编写的鼠标键盘录制与自动化回放工具:你把操作自己做一遍,之后它按你设定的次数自动重复执行,Windows、Linux、macOS 三个平台都能用,打包版不需要任何运行环境。

典型使用场景:哪些重复劳动能交给 KeymouseGo

如果你的工作里有下面这几类动作,都可以直接外包给脚本:批量数据录入,比如把表格里几百行记录一条条填进网页表单并保存;周期性的循环任务,比如游戏或挂机场景里"打怪—拾取—回城"这类固定动作的反复执行;以及软件发版前后的多机回归验证,同一条界面流程需要在多台设备上反复点查。三者的共同点是操作本身简单且固定,变的只是重复次数——这类工作人工做得越多越不划算,录一遍放 N 遍却几乎零成本。

KeymouseGo 安装与首次录制运行

安装只有两条路:下载 release 里的打包可执行文件,双击即可运行;想改代码的话,装好 Python 3.7+,按 Windows 用 requirements-windows.txt、Linux/macOS 用 requirements-universal.txt 安装依赖后,直接运行 KeymouseGo.py。

首次录制和回放只需要四步:

  1. 点击录制按钮,然后正常执行你要重复的那套操作
  2. 点击结束按钮,程序会把这次录制自动存成带时间戳的脚本文件,放在scripts/目录下
  3. 在列表中选中该脚本,设置执行次数,填0表示无限循环
  4. 点击启动或按热键F6开始回放,按F9可随时中止

上图是 KeymouseGo 主界面,右侧能看到脚本列表、执行次数和录制控制按钮,适合在第一次录制回放时对照查看

不想开界面时,用命令行直接跑脚本更省事:

./KeymouseGo scripts/0314_1452.txt # 回放一次 ./KeymouseGo scripts/0314_1452.txt -rt 3 # 执行 3 次,0 为无限循环

原理:KeymouseGo 把每次点击变成四个数字

KeymouseGo 不关心你点的是哪个窗口、哪个程序,它只记录"什么位置、什么动作、隔了多少毫秒"。所有操作都被规约成同一种事件结构,定义在 Event/Event.py 里:

class Event(metaclass=ABCMeta): def __init__(self, content: Dict[str, Any]): for key in ['delay', 'event_type', 'action_type', 'action']: setattr(self, key, content[key]) @abstractmethod def execute(self, thd=None): pass

delay是间隔毫秒数,event_type区分鼠标、键盘与文字输入,action_type是"右键按下"这类具体动作,action存坐标或按键参数。这样设计的好处是录制与回放彻底解耦:录制端只负责把动作流翻译成事件序列,回放端按顺序逐个执行。脚本因此是一份可以直接手改的 json5 文本——想调延迟、改坐标、加一步操作,打开文件就能改,完整字段说明见 README.md 的脚本语法一节。坐标填[-1, -1]则表示"在鼠标当前位置执行",适合不依赖绝对位置的按键类动作。

平台差异对照:Windows、Linux、macOS 底层实现

平台底层实现注意事项
WindowsWin32 API,声明 DPI 感知系统显示缩放(125%、150%)会让逻辑像素与物理像素偏差,录制机与回放机的缩放比例保持一致最稳
Linuxpynput(X11 / Wayland)打包时需指定pynput.keyboard._xorg_uinput等隐藏导入,README 有现成命令
macOSpynput(Quartz)程序须加入"辅助功能"白名单,闪退时可给~/.qt_material加写权限

上图是 Windows 的"缩放与布局"设置,它直接决定坐标换算关系,跨机器执行脚本前优先核对这一项

三个平台的体验之所以一致,是因为各平台的事件类继承同一个抽象基类,上层脚本无需感知差异,只有事件采集与执行通路按系统各走各的。

常见问题:坐标偏移、录制不全怎么排查

KeymouseGo 录制的鼠标事件不完整怎么办?部分系统环境下权限不足会丢事件,用管理员身份(Windows)或 root 身份(Linux)运行程序即可解决。

换一台机器点击位置偏移怎么办?坐标在录制时已按"像素除以屏幕宽高"转成百分比(换算逻辑在 Recorder/UniversalRecorder.py 的get_mouse_event中),分辨率差异已经规避,偏移基本都来自两台机器显示缩放不一致,先把缩放调成一样再跑。

macOS 上程序闪退怎么办?先把程序加入"辅助功能"白名单;仍闪退就执行chmod -R 770 ~/.qt_material给该目录写权限。

回放中途想停止脚本怎么办?F9立即中止,不用重启程序;F6等效于启动按钮,跑批量任务时手放在键盘上即可。

回放时鼠标移动速度跟不上录制怎么办?程序执行速度有上限,录制时鼠标移动过快会导致回放失真,放慢操作速度重新录一遍。

热键设置里 Middle 和 XButton 指什么?Middle是鼠标中键,XButton是鼠标侧键,配置前确认它们没有和系统快捷键冲突。

进阶扩展:KeymouseGo 的插件机制

如果录放之外还想加能力,KeymouseGo 采用微内核设计:核心只做录制与回放,其余功能以插件形式挂载。每个插件是项目根目录plugins下一个带manifest.json5清单的文件夹,继承 Plugin/ 中的接口后,插件注册的函数会被统一收进注册表,脚本里直接调用。改完插件代码重启程序即生效,无需重新编译,开发细节见官方 wiki。

KeymouseGo 用一套极简的事件模型,把"自己做一遍"放大成"做无限遍"。现在就可以下载 release 版录下你第一个 30 秒的脚本,跑通后也可以向 dev 分支提 PR,一起把这个工具箱做扎实。

【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 16:06:52

Ark-Pets 明日方舟桌宠快速上手指南:让干员住进你的桌面

Ark-Pets 明日方舟桌宠快速上手指南:让干员住进你的桌面 【免费下载链接】Ark-Pets Arknights Desktop Pets | 明日方舟桌宠 (ArkPets) 项目地址: https://gitcode.com/gh_mirrors/ar/Ark-Pets 下班后合上又打开电脑,屏幕右下角的澄闪正慢悠悠地踱…

作者头像 李华
网站建设 2026/8/23 16:05:50

WeKws Android 部署完整教程:从训练到 APK,手机端唤醒词实战

WeKws Android 部署完整教程:从训练到 APK,手机端唤醒词实战 【免费下载链接】wekws Production First and Production Ready End-to-End Keyword Spotting Toolkit 项目地址: https://gitcode.com/gh_mirrors/we/wekws WeKws 是一个面向生产环境…

作者头像 李华
网站建设 2026/8/23 15:58:16

一条菜单找回 30 天:JetBrains IDE 试用期重置实操指南

一条菜单找回 30 天:JetBrains IDE 试用期重置实操指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 一条菜单点下去,30 天完整试用期回来了。这就是 ide-eval-resetter 做的事&#xff…

作者头像 李华