KeymouseGo 上手:把重复的鼠标点击和键盘输入录一遍,自动回放 N 遍

发布时间:2026/8/22 16:11:53
KeymouseGo 上手:把重复的鼠标点击和键盘输入录一遍,自动回放 N 遍
KeymouseGo 上手把重复的鼠标点击和键盘输入录一遍自动回放 N 遍【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo如果你每天要重复点按钮、填数据、按回车几百遍KeymouseGo 这类鼠标键盘录制工具就是为这种苦役准备的自己把动作做一遍剩下交给电脑循环执行。它是个精简绿色版的按键精灵思路产品——不写代码、不装驱动、不侵入系统录完即用同时覆盖 Windows、Linux 和 macOS 三个平台。下文不空谈概念直接带你把第一个脚本跑起来再拆开它跨屏不跑偏的坐标机制与插件扩展点。KeymouseGo 脚本文件结构与 JSON5 语法跑之前先看一眼货物长什么样。每次录制结束后KeymouseGo 都会在项目根目录的scripts下生成一个带时间戳的新文件内容是 JSON5 格式——标准 JSON 放宽了注释和尾逗号肉眼可读性更好。每个对象代表一个事件四个字段缺一不可字段含义delay距上一个事件间隔的毫秒数event_type事件来源EM鼠标、EK键盘、EX文本输入action_type具体动作如mouse left down、key down、inputaction动作参数坐标、键码或待输入文本一次右键点击加一次按键的脚本节选长这样{ 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]} ] }这几行翻译成大白话就是等 3 秒 → 到指定位置按右键 → 50 毫秒后松开 → 再等 1 秒按一次 F 键。回放引擎按delay逐条执行。主界面一览右侧是脚本列表与执行次数设置录制、结束、启动三个按钮构成核心工作流。KeymouseGo 录制到回放的完整操作流程整个桌面模式就四个动作点录制开始捕获 → 正常操作电脑点击、输入都会被记下→ 点结束停止 → 点启动回放。录制的动作会以时间戳文件名落盘到scripts目录方便区分不同批次的脚本运行前可以在列表里选中要执行的那一条。不想开界面时命令行模式更干脆./KeymouseGo scripts/0314_1452.txt ./KeymouseGo scripts/0314_1452.txt -rt 3第一条直接执行指定脚本第二条用-rt全称--runtimes指定跑 3 遍把它设成0就是无限循环。热键方面F6等效启动按钮F9中止正在跑的脚本。两个小提醒录制只记鼠标点击与键盘动作不记移动轨迹程序模拟速度有上限操作过快时回放可能跟不上宁慢勿快。手动修改 KeymouseGo 脚本的方法因为脚本就是文本文件改它比重新录方便得多。把某条delay从3000改成800那段等待立刻缩短想跳过某个动作删掉对应对象即可坐标写[-1, -1]表示在鼠标当前所在位置执行适合不想让脚本挪动光标的场合。改完存盘直接启动验证跑一遍再放心批量执行。相对坐标KeymouseGo 跨分辨率屏幕不跑偏的原理同一套坐标换台电脑就点偏是自动化工具最常见的翻车点根源有两个分辨率不同、系统缩放不同。KeymouseGo 的解法是相对坐标。录制时通用录制器源码 里的get_mouse_event把像素位置除以屏幕宽高tx x / ScreenWidthty y / ScreenHeight存进脚本的于是 0~1 之间的比例值而不是像素。回放时 通用事件执行源码 把比例乘回目标屏的实际宽高。也就是说1080p 屏幕上录下的点击放到 4K 屏上依然落在同一个相对位置。Windows 上还有第二个坑显示缩放。125%、150% 的缩放会让逻辑像素和物理像素对不上——在 100% 缩放的机器上录、拿到 125% 的机器上放点击会整体平移。KeymouseGo 在 Windows 端调用SetProcessDPIAware()声明 DPI 感知并用mouse_event的归一化坐标0~65535 区间模拟移动能规避大部分偏移。但作为使用者最稳的做法仍是让录制环境和回放环境的缩放比例保持一致。Windows 的缩放设置直接决定逻辑坐标与物理坐标的换算关系跨机器跑脚本前务必先核对这一项。Windows 与 Linux/macOS 的实现差异对照很多跨平台工具实际上只在 Windows 上能跑。KeymouseGo 走策略模式按操作系统切换底层实现上层完全无感。平台底层技术源码位置特点WindowsWin32 API 钩子Recorder/WindowsRecorder.py高精度、DPI 感知、多显示器Linux / macOSpynput 库Recorder/UniversalRecorder.py基于 X11/WaylandLinux、QuartzmacOS事件执行层同样成对出现Event/WindowsEvents.py与Event/UniversalEvents.py。两套实现继承同一个抽象基类对使用者来说录制、回放、改脚本的体验在哪个系统上都一致脚本文件也能直接互相搬运。KeymouseGo 插件机制不改核心代码扩展功能核心只做录制与回放其余能力全部交给插件——微内核架构。每个插件是根目录plugins下的一个文件夹靠manifest.json5清单声明入口文件与插件类。插件类继承 插件接口定义 里的PluginInterface实现register_functions向统一注册表注册可调函数和register_record_functions两个抽象方法。插件管理器源码 启动时扫描目录、解析清单、动态加载类插件注册的函数随后可被脚本直接调用改完插件代码重启程序即生效无需重新编译。OCR 识别、网络请求、条件判断这类高级玩法都可以从这个口子长出来。KeymouseGo 常见问题速查表问题解决办法⚠️ 录制不完整、鼠标事件丢失以管理员 / root 身份运行权限不足是主因Linux X11 环境录不了打包命令需加隐藏导入pynput.keyboard._xorg、pynput.mouse._xorgREADME 有现成写法macOS 程序闪退先把程序加进辅助功能白名单仍闪退则chmod -R 770 ~/.qt_material回放时鼠标移动过快跟不上降低录制时的操作速度程序模拟速度有上限换台机器后点击整体偏移先核对两机显示缩放比例并保持一致脚本跑到一半想停按F9即可中止无需重启程序想在鼠标当前位置执行坐标写[-1, -1]热键不起作用Middle指鼠标中键、XButton指侧键排查与系统快捷键的冲突下一步从第一次录制开始体验下载 release 打包版录一段 30 秒的真实重复操作感受录一遍、跑 N 遍的节奏。源码运行Windows 装requirements-windows.txtLinux/macOS 装requirements-universal.txt然后直接跑KeymouseGo.py。改脚本前翻 README 的脚本语法说明进阶看Plugin/目录与项目 wiki。参与这是开源项目从 https://gitcode.com/gh_mirrors/ke/KeymouseGo 克隆仓库后把修复和功能建议以 Pull request 提交到 dev 分支即可。【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考