专为《王权与自由》打造的轻量级键鼠宏工具,开源、免费、无广告,兼容大多数鼠标和键盘。
📖 一、项目简介
项目 | 说明 |
---|---|
名称 | 王权与自由宏工具 |
语言 | Python 3.8+ |
界面 | PyQt5 |
平台 | Windows 10/11(x64) |
特点 | 开源、绿色、无驱动、最小化托盘、实时保存配置 |
成品 | 下载链接🔗 |
🧩 二、功能速览
模块 | 功能 | 备注 |
---|---|---|
🎯多键宏 | 录制一串按键+精确时序 | 支持3种触发模式 |
🔥单键宏 | 对单个键高速连点 | 可设频率/按住连发 |
🖱️鼠标支持 | 中键、右键、侧键1/2 | 左键被禁用,防止误触 |
⌨️全局热键 | 后台监听,无需焦点 | 可识别组合冲突 |
📁配置管理 | 多配置、实时保存、历史记忆 | json文件,手动可编辑 |
🔔系统托盘 | 最小化常驻,双击唤出 | 退出前自动保存 |
🧪 三、技术栈一览
- PyQt5 -
QMainWindow
、QTabWidget
、QTableWidget
、QSystemTrayIcon
构建主界面、标签页、表格、托盘菜单 - pynput -
pynput.keyboard.Listener
、pynput.mouse.Listener
录制键盘/鼠标按键,阻断式获取单键 - keyboard -
keyboard.is_pressed
、keyboard.read_event
后台循环检测热键状态,全局无焦点触发 - ctypes.SendInput -
windll.user32.SendInput
调用 Win32 API 注入硬件级输入,绕过消息队列 - threading -
Thread
、Event
热键监听与宏执行异步化,UI 不卡顿 - json + os - 配置读写、历史记录、多文件管理
🛠️ 四、快速开始
1️⃣ 安装依赖
git clone https://github.com/x0620x/tl_macro_tool.git
cd macro_tool
pip install -r requirements.txt # PyQt5 pynput keyboard
2️⃣ 启动程序
python app.py
首次运行会在当前目录生成 config/
文件夹与默认配置。
3️⃣ 录制你的第一个宏
- 切到「多键宏」标签 → 点击 设置热键 → 按下
F8
(示例) - 点击 添加 → 依次录制
Q-20ms-W-20ms-E-20ms
- 选择模式1(循环直到再按一次)
- 游戏里按
F8
开始/停止连招
4️⃣ 单键高速连点
- 切到「单键宏」标签 → 设置热键
鼠标中键
- 按下时间 10 ms,间隔 10 ms → 模式2(按住连发)
- 游戏里按住中键 = 自动连点
⚙️ 五、配置文件说明
目录结构:
macro_tool/
├─ app.py
├─ hotkey.py
├─ input.py
├─ About.py
└─ config/
├─ history.json ← 最近使用的配置名
├─ hotkey_config.json ← 全局多键宏热键
├─ single_key_config.json ← 全局单键宏参数
├─ 输出.json ← 用户自定义配置
└─ ...
json 示例(输出.json):
{
"mode": 1,
"macros": [
{"key": "Q", "press": 20, "release": 20, "interval": 20},
{"key": "W", "press": 20, "release": 20, "interval": 20}
]
}
可直接编辑,重启生效。
🚦 六、触发模式对比
模式 | 触发方式 | 停止方式 | 适用场景 |
---|---|---|---|
模式1 | 按一下热键 | 再按一下热键 | 长连招/循环 Buff |
模式2 | 按一下热键 | 执行一次后自动停 | 瞬发组合技 |
模式3 | 按住热键 | 松开后停止 | 手动节奏输出 |
⚠️ 七、注意事项
- 管理员权限 – 部分游戏需以管理员身份运行本工具,否则输入被屏蔽
- 左键禁用 – 防止日常操作误触;如需左键宏可改源码
mouse_button_map
- 组合键冲突 – 工具内已做冲突检查,仍避免与系统/游戏热键重复
- 防作弊风险 – SendInput 属合法 API,但在线游戏可能误判,请谨慎使用
- 绿色开源 – 不含驱动、不注入进程、不上传任何数据,可放心二次开发
📚 八、二次开发指北
- 更换图标:替换
tl.ico
并重新打包 - 新增模式:继承
SingleKeyMacroTab
或重写execute_macro_sequence
- 鼠标轨迹:在
input.py
扩展MOUSEINPUT
结构,加入dx/dy
坐标 编译独立: EXE
pip install pyinstaller pyinstaller -F -w -i tl.ico app.py
🤝 九、致谢与开源
献给 Juuuu(俊恩哥)与所有《王权与自由》的冒险者。
- 源码地址:https://github.com/x0620x/tl_macro_tool
- 开源协议:MIT – 可商用、可修改、请保留原作者信息
- 问题反馈:Issue 区
📜 十、版本记录
版本 | 日期 | 更新要点 |
---|---|---|
1.2 | 2025-06-25 | 新增鼠标中键/右键/侧键支持;重构热键冲突检测;UI 实时保存;系统托盘双击唤出;代码模块化拆分 |
1.1 | 2025-05-10 | 首版发布;支持键盘多键宏、单键高速连点;基础配置管理;全局热键触发 |