KeymouseGo开源自动化终极指南10个技巧实现鼠标键盘高效录制【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGoKeymouseGo是一款功能强大的开源鼠标键盘自动化工具可以理解为精简绿色版的按键精灵。这款跨平台的开源软件能够记录用户的鼠标键盘操作并通过触发按钮自动执行之前记录的操作让你从重复性工作中解放出来。无论你是需要自动化日常办公任务、游戏操作还是软件测试KeymouseGo都能提供完美的解决方案。 为什么选择KeymouseGo进行自动化在众多自动化工具中KeymouseGo以其轻量级、跨平台和开源特性脱颖而出。它支持Windows、Linux和macOS三大主流操作系统完全免费使用无需复杂的配置即可上手。核心优势对比特性KeymouseGo传统按键精灵AutoHotkey跨平台支持✅ Windows/Linux/macOS❌ 仅Windows❌ 仅Windows开源免费✅ 完全开源免费❌ 商业软件✅ 开源免费学习曲线⭐⭐⭐ 简单易用⭐⭐ 中等难度⭐⭐⭐⭐ 较复杂脚本格式JSON5格式专用格式AHK脚本录制功能✅ 图形化录制✅ 图形化录制❌ 仅脚本编写 快速安装与配置一键安装方法对于大多数用户推荐使用预编译的可执行文件无需安装Python环境# 克隆仓库到本地 git clone https://gitcode.com/gh_mirrors/ke/KeymouseGo cd KeymouseGo # 运行程序 ./KeymouseGo源码编译安装对于开发者或需要自定义功能的用户可以从源码编译# 1. 确保已安装Python3.7 python3 --version # 2. 安装依赖根据系统选择 # Windows系统 pip install -r requirements-windows.txt # Linux/MacOS系统 pip3 install -r requirements-universal.txt # 3. 安装打包工具 pip install pyinstaller # 4. 打包程序不同系统参数不同 # Windows pyinstaller -F -w --add-data ./assets;assets KeymouseGo.py # Linux X11 pyinstaller -F -w --add-data ./assets:assets --hidden-import pynput.keyboard._xorg --hidden-import pynput.mouse._xorg KeymouseGo.py # Linux Wayland pyinstaller -F -w --add-data ./assets:assets --hidden-import pynput.keyboard._uinput --hidden-import pynput.mouse._uinput KeymouseGo.py # MacOS pyinstaller -F -w --add-data ./assets:assets --hidden-import pynput.keyboard._darwin --hidden-import pynput.mouse._darwin KeymouseGo.py打包完成后可执行文件位于项目路径的dist文件夹内。KeymouseGo v5.1软件界面左侧为配置区域右侧为热键设置 5分钟快速上手教程录制你的第一个自动化脚本启动录制点击界面上的开始录制按钮执行操作正常进行鼠标点击和键盘输入操作结束录制点击结束按钮完成录制执行脚本点击启动按钮重复执行录制的操作关键配置参数详解执行次数设置脚本重复执行次数0表示无限循环鼠标精度调整鼠标点击的精确度推荐100%确保准确性执行速度控制脚本执行速度的百分比可调整执行节奏热键设置F6开始执行F9停止执行F10录制控制命令行模式高级用法除了图形界面KeymouseGo还支持命令行模式适合批量执行和集成到其他脚本中# 运行指定脚本 ./KeymouseGo scripts/0314_1452.txt # 运行脚本3次 ./KeymouseGo scripts/0314_1452.txt -rt 3 ./KeymouseGo scripts/0314_1452.txt --runtimes 3 # 运行脚本无限循环 ./KeymouseGo scripts/0314_1452.txt -rt 0 脚本语法深度解析KeymouseGo使用JSON5格式保存脚本每个事件都是一个JSON对象。这种格式既易于人类阅读也便于程序解析。基本事件类型示例{ scripts: [ // 鼠标左键按下事件 {type: event, event_type: EM, delay: 3000, action_type: mouse left down, action: [0.05208%, 0.1852%]}, // 鼠标左键抬起事件 {type: event, event_type: EM, delay: 50, action_type: mouse left up, action: [-1, -1]}, // 键盘F键按下事件 {type: event, event_type: EK, delay: 1000, action_type: key down, action: [70, F, 0]}, // 键盘F键抬起事件 {type: event, event_type: EK, delay: 50, action_type: key up, action: [70, F, 0]}, // 文字输入事件 {type: event, event_type: EX, delay: 100, action_type: input, action: 你好 world} ] }坐标系统说明相对坐标使用百分比表示如0.05208%对应100像素在1920x1080屏幕上绝对坐标使用[-1, -1]表示当前鼠标位置延迟时间delay字段以毫秒为单位控制事件之间的间隔事件类型详解事件类型代码说明鼠标事件EM鼠标点击、移动、滚轮操作键盘事件EK键盘按键按下、抬起操作输入事件EX文本输入操作 高级功能与插件系统插件系统架构KeymouseGo支持插件系统开发者可以通过Plugin/Interface.py和Plugin/Manager.py扩展功能。插件系统提供了丰富的API接口允许自定义事件处理和功能扩展。插件开发示例# 自定义插件示例 from Plugin.Interface import PluginInterface class MyCustomPlugin(PluginInterface): def __init__(self): super().__init__() self.name MyPlugin self.version 1.0 def on_event(self, event): # 处理事件的自定义逻辑 if event.event_type EM: print(f鼠标事件: {event.action_type}) return True事件录制器实现项目包含两种录制器实现确保跨平台兼容性UniversalRecorder.py跨平台通用录制器基于pynput库WindowsRecorder.pyWindows专用录制器使用pywinhook提供更好的性能事件处理器架构事件系统位于Event/目录包含Event.py基础事件抽象类定义事件接口UniversalEvents.py通用事件处理实现WindowsEvents.pyWindows特定事件处理Windows系统显示设置中的缩放与布局配置影响坐标计算️ 10个实用技巧与最佳实践技巧1优化录制精度设置在录制前调整鼠标精度为100%确保坐标记录的准确性。对于需要精确点击的应用场景这是关键设置。技巧2使用相对坐标而非绝对坐标尽量使用相对坐标百分比而非绝对坐标这样脚本可以在不同分辨率的屏幕上正常运行。技巧3合理设置事件延迟在事件之间添加适当的延迟确保前一个操作完成后再执行下一个操作。一般建议鼠标点击50-100ms延迟键盘输入10-50ms延迟窗口切换300-500ms延迟技巧4脚本备份与版本控制定期备份scripts/目录下的脚本文件可以使用Git进行版本控制# 初始化Git仓库 git init # 添加脚本文件 git add scripts/*.txt # 提交更改 git commit -m 添加自动化脚本技巧5跨平台适配注意事项编写脚本时要考虑不同系统的DPI缩放问题。可以使用相对坐标避免分辨率差异带来的问题。技巧6权限问题解决方案在某些系统环境中可能需要以管理员/root身份运行程序才能正常录制鼠标事件# Linux/MacOS sudo ./KeymouseGo # Windows # 右键点击程序选择以管理员身份运行技巧7macOS特殊配置macOS用户需要确保程序在辅助功能白名单中# 给予程序辅助功能权限 chmod -R 770 ~/.qt_material技巧8Linux/Wayland支持对于使用Wayland显示服务器的Linux系统需要使用特殊打包参数pyinstaller -F -w --add-data ./assets:assets \ --hidden-import pynput.keyboard._uinput \ --hidden-import pynput.mouse._uinput KeymouseGo.py技巧9脚本调试技巧在脚本中添加调试信息使用日志功能追踪执行过程{ scripts: [ {type: event, event_type: EX, delay: 100, action_type: input, action: 开始执行 }, // 实际操作... {type: event, event_type: EX, delay: 100, action_type: input, action: 执行完成 } ] }技巧10性能优化建议关闭不必要的日志输出减少系统资源占用优化脚本中的延迟时间避免过长等待使用命令行模式运行脚本减少GUI开销 项目结构与源码解析了解项目结构有助于深度定制和二次开发KeymouseGo/ ├── KeymouseGo.py # 主程序入口 ├── UIView.py # 用户界面实现 ├── UIFunc.py # UI功能函数 ├── Event/ # 事件处理模块 │ ├── Event.py # 基础事件类 │ ├── UniversalEvents.py # 通用事件处理 │ └── WindowsEvents.py # Windows特定事件 ├── Recorder/ # 录制器模块 │ ├── UniversalRecorder.py # 跨平台录制器 │ └── WindowsRecorder.py # Windows专用录制器 ├── Plugin/ # 插件系统 │ ├── Interface.py # 插件接口 │ └── Manager.py # 插件管理器 ├── Util/ # 工具类 │ ├── Parser.py # 脚本解析器 │ └── RunScriptClass.py # 脚本执行类 └── assets/ # 资源文件 ├── i18n/ # 国际化文件 └── sounds/ # 音效文件核心模块说明UIView.py基于PyQt5的图形界面实现提供友好的用户交互UIFunc.py界面功能逻辑处理连接UI与业务逻辑Util/Parser.py脚本解析器处理JSON5格式的脚本文件Util/RunScriptClass.py脚本执行类控制脚本的运行流程 3个实际应用场景案例案例1办公自动化 - 自动填写日报问题每天需要重复填写相同的日报表格耗时且容易出错。解决方案使用KeymouseGo录制填写过程设置每周一至周五自动执行。脚本示例{ scripts: [ // 打开日报系统 {type: event, event_type: EM, delay: 2000, action_type: mouse left down, action: [0.05%, 0.10%]}, {type: event, event_type: EM, delay: 50, action_type: mouse left up, action: [-1, -1]}, // 填写日期 {type: event, event_type: EX, delay: 500, action_type: input, action: {{当前日期}}}, // 选择项目 {type: event, event_type: EM, delay: 300, action_type: mouse left down, action: [0.15%, 0.25%]}, // ... 更多填写步骤 ] }案例2游戏辅助 - 自动资源采集问题游戏中需要重复采集资源操作单调且耗时。解决方案录制采集路线设置循环执行解放双手。关键技巧使用相对坐标适应不同分辨率设置适当的延迟避免操作过快添加随机延迟防止被检测案例3软件测试 - UI自动化测试问题需要重复测试软件界面的功能手动测试效率低。解决方案录制测试用例实现自动化回归测试。优势确保测试一致性提高测试覆盖率支持夜间批量执行⚠️ 常见问题与解决方案问题1录制时鼠标事件不完整解决方案以管理员/root身份运行程序确保有足够的权限捕获系统事件。问题2脚本在不同分辨率下运行异常解决方案使用相对坐标而非绝对坐标确保脚本的跨分辨率兼容性。问题3macOS系统闪退问题解决方案确保程序在系统偏好设置 安全性与隐私 辅助功能中有权限给予~/.qt_material目录写权限chmod -R 770 ~/.qt_material问题4Linux系统无法录制解决方案参考pynput文档解决Linux系统的权限问题。问题5执行速度不如预期解决方案调整执行速度参数注意系统性能限制。对于需要高速执行的场景考虑优化脚本减少不必要的延迟。 扩展开发与社区贡献插件开发指南KeymouseGo的插件系统允许开发者扩展功能。插件需要实现Plugin/Interface.py中的PluginInterface接口from Plugin.Interface import PluginInterface class CustomPlugin(PluginInterface): def __init__(self): super().__init__() self.name CustomPlugin self.description 自定义插件示例 def on_load(self): # 插件加载时执行 print(f{self.name} 已加载) def on_event(self, event): # 处理事件 return True def on_unload(self): # 插件卸载时执行 print(f{self.name} 已卸载)贡献代码流程Fork项目到自己的GitHub账户创建功能分支git checkout -b feature/your-feature提交更改git commit -m 添加新功能推送到分支git push origin feature/your-feature创建Pull Request项目开发路线图KeymouseGo作为一个活跃的开源项目未来发展方向包括AI智能识别自动化场景云端脚本同步功能更强大的插件生态系统移动设备控制支持可视化脚本编辑器 开始你的自动化之旅KeymouseGo为每个人提供了简单易用的自动化解决方案。无论你是编程新手还是经验丰富的开发者都能快速上手并创建强大的自动化脚本。立即开始下载KeymouseGogit clone https://gitcode.com/gh_mirrors/ke/KeymouseGo录制你的第一个脚本探索高级功能分享你的自动化经验记住自动化不是为了替代人类而是为了让我们专注于更有创造性的工作。通过KeymouseGo你可以将重复性工作交给计算机让自己有更多时间处理真正重要的事情。现在就下载KeymouseGo开始你的效率革命吧提示所有脚本文件都保存在项目的scripts目录下建议定期备份重要脚本。遇到问题时可以查看logs目录下的日志文件进行调试。【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考