公司动态
还在手动重复点鼠标?KeymouseGo 跨平台鼠标键盘录制自动化工具完整上手指南
还在手动重复点鼠标KeymouseGo 跨平台鼠标键盘录制自动化工具完整上手指南【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo如果你每天都要重复几百次点这个按钮、填那栏数据、按一下回车那这款开源工具或许能帮你彻底解放双手。KeymouseGo是一款类似按键精灵的鼠标键盘录制和自动化操作工具支持模拟点击与键入只需把操作录一遍它就能按你设定的次数自动回放而且同时兼容 Windows、Linux 和 macOS 三大系统无需安装任何运行环境下载即用。本文将带你从零跑通第一个自动化脚本再深入理解它的坐标换算与插件机制最后附上避坑清单让你真正把这把自动化钥匙用顺手。KeymouseGo 能做什么三个真实场景一眼看懂先别急着下载看看下面三个场景里有没有你的影子数据录入每天把 Excel 里的几百行数据填进网页表单复制、粘贴、点保存循环往复。用 KeymouseGo 录一遍剩下的交给电脑。游戏挂机需要周期性重复打怪—拾取—回城的操作录一套固定动作让它自动循环执行。软件验收新版本发布后要在多台设备上反复点同一套界面流程录一次脚本换台机器照样跑。它的核心价值就一句话自己做一遍剩下让电脑来。工具本身是精简绿色版的按键精灵思路——不写代码、不改系统、不装驱动录完即用。上图是 KeymouseGo 的完整主界面右侧可以看到脚本列表、执行次数、录制按钮和热键配置五分钟就能上手。三步完成安装与首次运行第一步选择你的运行方式两种方式任选其一方式适合人群说明直接运行打包版不熟悉 Python 的用户项目已打包为可执行文件下载 release 版本双击即可源码运行开发者 / 想改代码的人需要 Python 3.7安装依赖后直接跑KeymouseGo.py如果你走源码路线依赖安装命令在requirements-windows.txt与requirements-universal.txt两个文件里分好了类Windows 用户跑前一个Linux/macOS 用户跑后一个。第二步录制你的第一段操作打开程序后操作流程只有四步点击录制按钮开始录制在电脑上正常操作比如点开某个软件、输入一段文字点击结束按钮完成录制点击启动按钮电脑自动复刻刚才的动作录制完的脚本会以json5格式自动存到scripts目录下文件名带时间戳方便你区分每次录制的动作。第三步用命令行跑批量任务如果不想开界面命令行模式更适合你# 直接运行指定脚本 ./KeymouseGo scripts/0314_1452.txt # 运行指定脚本 3 次 ./KeymouseGo scripts/0314_1452.txt -rt 3其中-rt或--runtimes指定执行次数设为0就是无限循环。默认热键F6等效于启动按钮F9随时中止正在运行的脚本——跑批的时候手边备着这两个键安全感拉满。核心原理录制与回放是怎么做到所见即所得的事件驱动把操作拆成一张乐谱KeymouseGo 的核心思想是事件驱动——它不关心你点了什么软件、开了什么窗口只关心鼠标在什么位置、按了什么键、隔了多久。每一个操作都被抽象成一个标准事件就像把一段演奏录成乐谱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): pass这段代码定义了每个事件的四要素delay事件间隔毫秒数、event_type事件类型、action_type动作类型、action操作参数。录制时把操作流翻译成事件序列回放时按顺序逐个执行录制逻辑与回放逻辑彻底解耦——你可以录完脚本后直接改文件里的数字调整坐标和延迟。脚本长什么样JSON5 格式一眼可读录出来的脚本是json5格式每个对象就是一个事件手动改起来非常直观{ scripts: [ // 3 秒后在相对坐标 (0.05208, 0.1852) 处按下鼠标右键 {type: event, event_type: EM, delay: 3000, action_type: mouse right down, action: [0.05208%, 0.1852%]}, // 50 毫秒后抬起右键[-1, -1] 表示保持鼠标当前位置 {type: event, event_type: EM, delay: 50, action_type: mouse right up, action: [-1, -1]}, // 1 秒后按下 F 键 {type: event, event_type: EK, delay: 1000, action_type: key down, action: [70, F, 0]}, // 100 毫秒后输入一段文字 {type: event, event_type: EX, delay: 100, action_type: input, action: 你好 world} ] }注意坐标那两栏——0.05208%这类百分比就是相对坐标也是后面要讲的跨屏适配关键。完整的语法说明在 README 的脚本语法说明一节里改了脚本记得先跑一遍验证。如何解决跨平台坐标偏移问题百分比坐标与 DPI 适配跨平台自动化最容易踩的坑就是同一套坐标在另一台电脑上点错了位置。原因有二屏幕分辨率不同、系统显示缩放比例不同。相对坐标以百分比代替像素KeymouseGo 录制时就把绝对像素换算成了相对坐标tx x / ScreenWidth # 横坐标除以屏幕宽度 ty y / ScreenHeight # 纵坐标除以屏幕高度这段逻辑在Recorder/UniversalRecorder.py的get_mouse_event里。录出来的坐标是占比而非像素回放时再乘以当前屏幕的宽高——分辨率变了点击位置依然正确。DPI 缩放Windows 上的隐形杀手Windows 的显示缩放125%、150% 等会让物理像素和逻辑像素产生偏差。如果脚本在 100% 缩放的机器上录制拿到 125% 缩放的机器上回放点击就会整体偏移。Windows 的缩放与布局设置直接决定逻辑坐标与物理坐标的换算关系跨机器跑脚本前务必核对。KeymouseGo 在 Windows 端通过SetProcessDPIAware()声明 DPI 感知并用mouse_event的归一化坐标0~65535 区间模拟移动规避了大部分缩放导致的偏移问题。但作为使用者的你仍需记住一条铁律录制环境与回放环境的缩放比例保持一致这是最省心的做法。跨平台差异详解Windows 与 Linux/macOS 各走各路很多自动化工具说好的跨平台实际只在 Windows 上可用。KeymouseGo 的做法是策略模式——按操作系统选择不同的实现平台底层技术特点WindowsWin32 API 钩子高精度、DPI 感知、多显示器支持Linux / macOSpynput 库基于 X11/WaylandLinux与 QuartzmacOS对应源码分得很清楚Recorder/WindowsRecorder.py管 WindowsRecorder/UniversalRecorder.py管其他平台事件执行层也对应有Event/WindowsEvents.py与Event/UniversalEvents.py。两个平台的事件类都继承同一个抽象基类所以上层脚本完全不用区分平台录制、回放、修改的体验完全一致。插件机制不满足于录放自己扩展功能对于开发者来说KeymouseGo 最值得玩味的是它的插件系统——微内核架构核心只做录制与回放其余能力全部通过插件挂载。所有插件放在项目根目录的plugins目录下每个插件是一个带manifest.json5清单的文件夹。写一个插件只需要继承Plugin/Interface.py里的接口class PluginInterface: def __init__(self, manifest: Dict): self.meta PluginMeta(manifest) abstractmethod def register_functions(self) - Dict[str, Callable]: pass abstractmethod def register_record_functions(self) - List[Callable]: pass插件管理器Plugin/Manager.py启动时扫描plugins目录、解析清单、动态加载插件类把插件注册的函数收进统一注册表脚本里就能直接调用了。整个过程支持热加载——改完插件代码重启程序即可生效无需重新编译。想扩展 OCR 识别、网络请求、条件判断这些高级能力都可以从这里入手官方 wiki 里有插件开发的详细说明。避坑指南8 个高频问题与解决方案根据社区反馈下面这些问题出现频率最高提前知道能省下大量排查时间录制不完整尤其是鼠标事件丢失请用管理员身份 / root 身份运行工具权限不足是主因。Linux 下 X11 录不了使用 Wayland 或 Xorg 环境时需要指定对应的隐藏导入pynput.keyboard._xorg等README 打包命令里有现成写法。macOS 上程序闪退先把程序加入辅助功能白名单如果仍闪退给~/.qt_material目录加写权限chmod -R 770 ~/.qt_material。回放时鼠标飞得太快程序速度有上限录制时鼠标移动速度过快会导致回放跟不上放慢操作即可。跨机器点击偏移优先检查两机的显示缩放比例保持一致后再跑。脚本执行到一半想停F9一键中止无需重启程序。想在当前鼠标位置操作把坐标写成[-1, -1]脚本会原地执行。热键冲突热键设置里Middle指鼠标中键、XButton指侧键先确认没和系统快捷键冲突。现在就可以开始三步行动计划看完这篇指南你已经掌握了 KeymouseGo 的全部核心用法。接下来只需要立即体验下载打包版录一段 30 秒的重复操作感受一下录一遍、跑 N 遍的爽快感。进阶阅读通读项目根目录的README.md重点看脚本语法说明和打包命令想了解插件开发直接翻Plugin/目录和官方 wiki。参与共建这是开源项目任何修复与功能建议都欢迎——把改进提交到项目的 dev 分支和作者一起完善这个跨平台自动化工具箱。从手动重复到录制回放KeymouseGo 用一套极简的事件抽象把跨平台自动化变得触手可及。它也许不是功能最重的自动化工具但一定是你上手最快、最不折腾的那一个。现在打开软件录下你第一个脚本吧。【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考