专为《王权与自由》打造的轻量级键鼠宏工具,开源、免费、无广告,兼容大多数鼠标和键盘。

📖 一、项目简介

项目说明
名称王权与自由宏工具
语言Python 3.8+
界面PyQt5
平台Windows 10/11(x64)
特点开源、绿色、无驱动、最小化托盘、实时保存配置
成品下载链接🔗

程序界面

🧩 二、功能速览

模块功能备注
🎯多键宏录制一串按键+精确时序支持3种触发模式
🔥单键宏对单个键高速连点可设频率/按住连发
🖱️鼠标支持中键、右键、侧键1/2左键被禁用,防止误触
⌨️全局热键后台监听,无需焦点可识别组合冲突
📁配置管理多配置、实时保存、历史记忆json文件,手动可编辑
🔔系统托盘最小化常驻,双击唤出退出前自动保存

🧪 三、技术栈一览

  • PyQt5 - QMainWindowQTabWidgetQTableWidgetQSystemTrayIcon
    构建主界面、标签页、表格、托盘菜单
  • pynput - pynput.keyboard.Listenerpynput.mouse.Listener
    录制键盘/鼠标按键,阻断式获取单键
  • keyboard - keyboard.is_pressedkeyboard.read_event
    后台循环检测热键状态,全局无焦点触发
  • ctypes.SendInput - windll.user32.SendInput
    调用 Win32 API 注入硬件级输入,绕过消息队列
  • threading - ThreadEvent
    热键监听与宏执行异步化,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️⃣ 录制你的第一个宏

  1. 切到「多键宏」标签 → 点击 设置热键 → 按下 F8(示例)
  2. 点击 添加 → 依次录制 Q-20ms-W-20ms-E-20ms
  3. 选择模式1(循环直到再按一次)
  4. 游戏里按 F8 开始/停止连招

4️⃣ 单键高速连点

  1. 切到「单键宏」标签 → 设置热键 鼠标中键
  2. 按下时间 10 ms,间隔 10 ms → 模式2(按住连发)
  3. 游戏里按住中键 = 自动连点

⚙️ 五、配置文件说明

目录结构:

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按住热键松开后停止手动节奏输出

⚠️ 七、注意事项

  1. 管理员权限 – 部分游戏需以管理员身份运行本工具,否则输入被屏蔽
  2. 左键禁用 – 防止日常操作误触;如需左键宏可改源码 mouse_button_map
  3. 组合键冲突 – 工具内已做冲突检查,仍避免与系统/游戏热键重复
  4. 防作弊风险 – SendInput 属合法 API,但在线游戏可能误判,请谨慎使用
  5. 绿色开源 – 不含驱动、不注入进程、不上传任何数据,可放心二次开发

📚 八、二次开发指北

  • 更换图标:替换 tl.ico 并重新打包
  • 新增模式:继承 SingleKeyMacroTab 或重写 execute_macro_sequence
  • 鼠标轨迹:在 input.py 扩展 MOUSEINPUT 结构,加入 dx/dy 坐标
  • 编译独立: EXE

    pip install pyinstaller
    pyinstaller -F -w -i tl.ico app.py

🤝 九、致谢与开源

献给 Juuuu(俊恩哥)与所有《王权与自由》的冒险者。

📜 十、版本记录

版本日期更新要点
1.22025-06-25新增鼠标中键/右键/侧键支持;重构热键冲突检测;UI 实时保存;系统托盘双击唤出;代码模块化拆分
1.12025-05-10首版发布;支持键盘多键宏、单键高速连点;基础配置管理;全局热键触发
最后修改:2025 年 10 月 09 日
钥匙你想请我喝酱香拿铁的话!