
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。首次录制和回放只需要四步点击录制按钮然后正常执行你要重复的那套操作点击结束按钮程序会把这次录制自动存成带时间戳的脚本文件放在scripts/目录下在列表中选中该脚本设置执行次数填0表示无限循环点击启动或按热键F6开始回放按F9可随时中止上图是 KeymouseGo 主界面右侧能看到脚本列表、执行次数和录制控制按钮适合在第一次录制回放时对照查看不想开界面时用命令行直接跑脚本更省事./KeymouseGo scripts/0314_1452.txt # 回放一次 ./KeymouseGo scripts/0314_1452.txt -rt 3 # 执行 3 次0 为无限循环原理KeymouseGo 把每次点击变成四个数字KeymouseGo 不关心你点的是哪个窗口、哪个程序它只记录什么位置、什么动作、隔了多少毫秒。所有操作都被规约成同一种事件结构定义在 Event/Event.py 里class Event(metaclassABCMeta): 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, thdNone): passdelay是间隔毫秒数event_type区分鼠标、键盘与文字输入action_type是右键按下这类具体动作action存坐标或按键参数。这样设计的好处是录制与回放彻底解耦录制端只负责把动作流翻译成事件序列回放端按顺序逐个执行。脚本因此是一份可以直接手改的 json5 文本——想调延迟、改坐标、加一步操作打开文件就能改完整字段说明见 README.md 的脚本语法一节。坐标填[-1, -1]则表示在鼠标当前位置执行适合不依赖绝对位置的按键类动作。平台差异对照Windows、Linux、macOS 底层实现平台底层实现注意事项WindowsWin32 API声明 DPI 感知系统显示缩放125%、150%会让逻辑像素与物理像素偏差录制机与回放机的缩放比例保持一致最稳LinuxpynputX11 / Wayland打包时需指定pynput.keyboard._xorg或_uinput等隐藏导入README 有现成命令macOSpynputQuartz程序须加入辅助功能白名单闪退时可给~/.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),仅供参考