兼容大多数鼠标和键盘,适用于大部分游戏和应用。
2026-06-08 更新使用文档,问题反馈请在 「留言」板块
⚠️ 免责申明
本软件为第三方辅助工具,仅供个人学习与交流使用。
使用本软件可能违反《王权与自由》ThroneandLiberty 游戏的相关用户协议-
因使用本软件导致的任何账号封禁、数据丢失或其他损失,作者概不负责
请用户自行评估使用风险,谨慎使用
若游戏官方明确禁止此类工具,请立即停止使用
📖 一、项目简介
| 项目 | 说明 |
|---|---|
| 软件名称 | TL_Macro |
| 使用平台 | Windows 10/11(x64) |
| 主要技术 | PyQt5 + Pynput + 硬件级输入 |
| 成品下载 | 我同意免责申明并下载程序 下载最新版本使用 |
| 项目源码 | https://github.com/x0620x/tl_macro_tool |
🧩 二、功能速览
| 模块 | 功能 | 备注 |
|---|---|---|
| 🎯 多键宏 | 录制一串按键+精确时序 | 支持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 - 用于配置读写、历史记录、多文件管理。
🛠️ 四、快速开始
Python版本: 3.11
$ pip install PyQt5 pynput keyboard $ python app.py💡 提示: 程序启动时会自动请求管理员权限,请点击"是"确认,否则部分功能可能无法正常工作。
- 操作系统: Windows 10/11 (64位)
- 解压或复制整个 TL_Macro 文件夹到任意目录,双击
TL_Macro.exe启动。若弹出 UAC 管理员权限提示,请点击「是」。 - 文件夹内应包含:
- TL_Macro.exe — 主程序
- _internal/ — 程序依赖目录(不可删除)
- config/ — 配置文件目录(首次运行后自动生成或使用已有配置)
- log/ — 日志目录(运行后自动生成)关闭主窗口时,程序不会退出,而是最小化到系统托盘继续运行:
| 操作 | 方式 |
|---|---|
| 恢复窗口 | 双击托盘图标,或右键 →「显示窗口」 |
| 彻底退出 | 右键托盘图标 →「退出程序」 |
关闭窗口后,已启用的配置热键仍然有效,适合边玩游戏边在后台使用宏。
🖥️ 五、界面总览
- 左侧:配置文件列表,分为「已启用」和「未启用」两个区域。
右侧标签页:
- 主页 — 仪表盘,显示已启用配置摘要、运行状态和窗口焦点信息
- 多键宏 — 配置按键序列宏
- 单键宏 — 配置单键连发
- 图像宏 — 配置图像识别技能
- 焦点控制 — 设置宏生效的窗口范围
- 关于 — 版本信息、反馈链接、日志级别设置
⚙️ 六、配置文件管理
每个配置文件对应一套独立的宏设置(多键宏 + 单键宏 + 图像宏)。可以同时启用多个配置,但热键不能冲突。
| 操作 | 方式 | 说明 |
|---|---|---|
| 新建配置 | 点击「新增」,输入名称 | 新建后默认处于未启用状态 |
| 选中配置 | 单击配置名 | 右侧显示该配置的设置,可进行编辑 |
| 取消选中 | 再次单击已选中的配置名 | 清空右侧编辑区 |
| 启用 / 禁用 | 双击配置名 | 启用后右侧编辑区锁定,需先禁用才能修改 |
| 重命名 | 选中未启用配置 →「重命名」 | 启用中的配置不可重命名 |
| 删除 | 选中未启用配置 →「删除配置」 | 启用中的配置不可删除,需先禁用 |
启用与编辑的关系
- 配置未启用时:可以自由编辑多键宏、单键宏、图像宏的所有设置。
- 配置已启用时:右侧各标签页的按钮和输入框会被锁定,防止运行中误改。
- 需要修改已启用配置:双击禁用 → 修改 → 双击重新启用。
配置文件存储位置
| 路径 | 内容 |
|---|---|
config/<配置名>.json | 宏配置数据 |
config/enabled_configs.json | 当前已启用的配置列表 |
config/window_focus.json | 窗口焦点设置(全局,不随配置变化) |
config/assets/<配置名>/ | 图像宏的技能图标、Buff 图标等截图资源 |
备份或迁移时,可复制整个 config 文件夹。
热键冲突规则
启用配置时,程序会自动检测已启用配置之间的热键冲突。若存在冲突,将无法启用并弹出提示。
冲突规则如下;
- 多键宏启动热键不能重复
- 单键宏启动热键不能重复
- 图像宏启动热键不能重复
- 各类型启动热键之间不能相同(例如多键宏热键和单键宏热键不能是同一个键)
- 宏序列中的按键不能包含其他已启用配置的启动热键同一配置内部也会检测热键冲突(例如多键宏热键不能与单键宏热键相同)。
🎮 七、多键宏
多键宏用于按顺序执行一系列按键,适合「一键连招」「循环释放技能栏」等场景。
配置步骤
- 点击左侧「新增」,创建一个配置并单击选中。
- 切换到「多键宏」标签页。
- 点击「设置热键」,按下你想用作启动键的按键(支持键盘键和鼠标键)。
添加宏序列(二选一或组合使用):
- 录制序列:自动录制你按下的每个键及其按下时间、间隔。
- 添加:手动逐行添加,设置「按键 / 按下时间(ms) / 间隔(ms)」。
- 用「上移」「下移」调整执行顺序,「删除」移除不需要的步骤。
- 选择执行模式。
- 双击左侧配置名启用。
- 进入游戏,按下启动热键测试。
宏序列表格说明
| 列 | 含义 |
|---|---|
| 按键 | 要模拟按下的键,支持组合键(如 ctrl&a) |
| 按下时间(ms) | 按键保持按下的时长 |
| 间隔(ms) | 该步骤完成后到下一步骤之间的等待时间 |
执行模式
| 模式 | 行为 |
|---|---|
| 模式1 | 按下启动宏热键 → 循环执行,直到再次按下结束 |
| 模式2 | 按下启动宏热键 → 执行一次就结束(默认) |
| 模式3 | 按下启动宏热键 → 循环执行,松开停止 |
示例:一键循环释放 3→4→5 技能
- 新建配置,命名为「技能循环」。
- 多键宏热键设为
1。 - 添加三行宏序列:
| 按键 | 按下时间(ms) | 间隔(ms) |
|---|---|---|
| 3 | 117 | 23 |
| 4 | 70 | 14 |
| 5 | 218 | 1 |
- 执行模式选「模式1」(循环执行,再次按下停止)。
- 双击启用配置。游戏中按
1开始循环,再按1停止。
组合键说明
- 组合键格式:
修饰键&主键,例如ctrl&a、shift&1。 - 组合键中的单个键不能与当前配置的启动热键冲突。
🔁 八、单键宏
单键宏用于对一个键盘按键进行高速连发,适合需要快速重复按某个键的场景。
配置步骤
- 新建并选中一个未启用的配置。
- 切换到「单键宏」标签页。
- 点击「设置热键」,按下启动键(仅支持键盘按键)。
- 设置「按下时间(ms)」— 每次按键保持按下的时长。
- 设置「间隔时间(ms)」— 两次按键之间的等待时间。
- 选择执行模式。
- 双击启用配置,进入游戏测试。
执行模式
| 模式 | 行为 |
|---|---|
| 模式1 | 按下启动热键一直循环执行,直到再次按下就停止(默认) |
| 模式2 | 按下启动热键一直循环执行,松开停止 |
与多键宏的区别
| 对比项 | 单键宏 | 多键宏 |
|---|---|---|
| 按键数量 | 只连发一个键 | 按序列执行多个键 |
| 热键类型 | 仅键盘 | 键盘 + 鼠标 |
| 典型用途 | 快速连点一个键 | 连招、多技能循环 |
如果需要鼠标按键连发,请在多键宏的宏序列中添加对应的鼠标按键。
🖼️ 九、图像宏
图像宏通过识别屏幕上的技能图标,自动按下对应按键释放技能。支持 Buff 前置条件,适合「技能好了自动放」「Buff 消失自动补」等场景。
限制:全局同时只允许 1 个配置 的图像宏在运行。若已有图像宏在扫描,其他配置的图像宏将无法启动。
识别重点:为了识别效率和性能,程序不会全屏幕抓取图像,当你截图技能的时候,会自动保存该技能在屏幕上坐标信息,请固定你的游戏分辨率以及屏幕大小,如果你的游戏技能位置变了,或是屏幕大小分辨率变化,请重新截图。buff栏设计,buff不是固定的顺序出现,位置也不固定,所以先选择buff识别的区域,再选择具体的buff图标。程序就会在这个区域内去识别对应的buff图标。
配置步骤
- 新建并选中一个未启用的配置。
- 切换到「图像宏」标签页。
- 点击「设置热键」,设置启动扫描的热键。
- 选择执行模式和扫描间隔。
- 点击「新增技能」,在弹出的「技能设置」对话框中配置每个技能。
- 在技能列表中用「上移」「下移」调整扫描优先级(排在前面的优先检测)。
- 双击启用配置。
- 进入游戏,按下热键启动扫描。
执行模式
| 模式 | 行为 |
|---|---|
| 模式1 | 按下启动热键开始扫描,再次按下停止(默认) |
| 模式3 | 按住启动热键开始扫描,松开停止 |
扫描间隔
- 范围:30 ~ 500 ms,默认 100 ms。
- 间隔越小扫描越频繁,响应更快,但 CPU 占用更高。
- 建议从 100 ms 开始,根据实际情况调整。
技能设置对话框
点击「新增技能」或「编辑」打开,包含两个标签页。
技能设置(必填)
| 字段 | 说明 |
|---|---|
| 技能名称 | 最多 6 个字符,便于识别 |
| 技能按键 | 识别到技能图标后要按的键 |
| 技能图标 | 点击「框选截图」,在游戏界面框选该技能的图标区域 |
| 按下时间(ms) | 模拟按键的按下时长,默认 50 ms |
| 重复次数 | 识别到后连续按几次,默认 1 |
| 重复间隔(ms) | 多次按键之间的间隔,默认 100 ms |
| 置信度阈值 | 图像匹配的相似度要求,默认 0.85,识别不准时可适当降低 |
| 位置容差(px) | 允许图标位置偏移的像素范围 |
| 搜索扩展(px) | 在上次匹配位置周围扩展搜索的范围 |
| 亮度阈值 | 过滤过暗区域的亮度下限 |
配置完成后,点击「测试识别」验证当前屏幕能否正确匹配该技能图标。
前置条件(可选)
勾选「启用 buff 前置条件」后,可以设置 Buff 相关的触发逻辑:
| 字段 | 说明 |
|---|---|
| 触发模式 | 「Buff 存在时触发」或「Buff 不存在时触发」 |
| Buff 名称 | 最多 6 个字符 |
| Buff 搜索区域 | 框选 Buff 图标所在的屏幕区域 |
| Buff 图标 | 截取 Buff 图标作为匹配模板 |
| 等待时间 | Buff 出现/消失后的等待毫秒数 |
| Buff 置信度 | Buff 图标的匹配置信度 |
典型用法:
- Buff 存在时触发:身上有某 Buff 时才自动释放对应技能。
- Buff 不存在时触发:某 Buff 消失后自动补 Buff 技能。
使用技巧
- 先测后玩:每个技能配置好后,用「测试识别」确认截图能匹配,再启用配置。
- 图标尽量小且独特:框选技能图标时,只框选图标本身,避免包含背景干扰。
- 合理排序:把优先级高的技能放在列表前面,程序按顺序扫描。
- 识别不准时:适当降低置信度阈值,或重新框选更清晰的图标;检查游戏分辨率/ UI 缩放是否变化。
- Buff 前置:Buff 搜索区域应框选 Buff 栏的固定位置,Buff 图标只框选图标本身。
🎯 十、焦点控制
焦点控制决定宏在哪些窗口中生效。此设置为全局配置,保存在 config/window_focus.json,不随单个宏配置文件变化。
切换到「焦点控制」标签页进行设置。
全局模式(默认)
选择「全局模式:在所有应用程序中生效」后,无论当前焦点在哪个窗口,已启用的宏都会响应热键。
窗口模式
选择「窗口模式:只在指定应用程序中生效」后,只有当活动窗口匹配以下任一条件时,宏才会执行:
- 进程名在「目标进程名称」列表中
- 窗口标题在「目标窗口标题」列表中
重要:窗口模式下,如果未添加任何目标进程或窗口标题,宏将不会执行。
如何添加目标窗口
- 切换到你想让宏生效的游戏窗口。
- 回到 TL_Macro,在「焦点控制」页点击「刷新信息」,查看当前活动窗口的进程名和标题。
点击「添加窗口」,从历史记录中选择并添加:
- 「添加窗口」— 按进程名匹配
- 「添加标题」— 按窗口标题匹配
- 不需要的目标可以用「删除选中的进程」或「删除选中的标题」移除。
主页查看焦点状态
主页底部的「窗口焦点」区域会显示当前模式(全局 / 窗口)以及已配置的目标进程和窗口标题。
❓ 十一、常见问题(FAQ)
多个已启用配置之间存在热键重复。请检查不同配置的启动热键是否相同,或某配置的宏序列按键是否包含了另一个配置的启动热键。
这是正常设计。已启用的配置处于运行状态,编辑区会被锁定。请先双击禁用配置,修改完成后再双击启用。
按以下顺序排查:
- 配置是否已双击启用(出现在左侧「已启用」列表中)?
- 「焦点控制」是否为窗口模式?若是,是否已添加正确的目标进程或窗口标题?
- 启动热键是否与其他已启用配置冲突?
- 程序是否以管理员权限运行?
因为在Windows系统内,鼠标是事件,单键宏仅支持键盘按键作为热键。如需鼠标连发,请在多键宏的宏序列中添加鼠标按键。
- 在技能设置中点击「测试识别」,查看当前屏幕是否能匹配。
- 适当降低「置信度阈值」(如从 0.85 降到 0.75)。
- 重新「框选截图」,确保图标清晰、范围准确。
- 检查游戏分辨率或 UI 缩放是否发生变化。
- 调整「搜索扩展」和「位置容差」参数。
这是正常行为。TL_Macro 关闭窗口后会最小化到系统托盘,热键仍然有效。若要彻底退出,请右键托盘图标 →「退出程序」。
为了执行效率,全局同时只允许 1 个配置的图像宏执行。请先停止当前正在运行的图像宏,或禁用正在运行的那个配置。
- 日志文件位于程序目录下的
log/文件夹。 - 在「关于」标签页可以切换日志级别(DEBUG / INFO / WARNING / ERROR),便于排查问题。
📜 十二、版本记录
| 版本 | 日期 | 更新内容 | 重要提示 |
|---|---|---|---|
| 1.6.3 | 2026-08-04 | 修复图像宏bug队列执行bug | 新增一个间隔时间 |
| 1.6.2 | 2026-07-10 | 修复图像宏一个bug | 无 |
| 1.6.1 | 2026-06-08 | 新增DXGI识别引擎,UI界面修改 | 全局配置修改,请先禁用所有配置 |
| 1.6.0 | 2026-06-08 | 去掉弹起时间设置、新增录制序列、新增图像宏、修复已知问题 | 新增图像宏功能、项目依赖添加识别模型、相关图像识别运行库所以本次版本体积较大 |
| 1.5.0 | 2025-11-16 | 支持组合按键、多配置同时启用、重新设计线程池 | 只面向Win10_Win11用户 |
| 1.4.2 | 2025-10-29 | 应用户需求,宏序列支持鼠标和alt组合按键 | 多键宏序列支持鼠标和组合按键 |
| 1.4.1 | 2025-10-27 | 修改最小5ms限制 | 时间范围可以修改1-9999ms |
| 1.4 | 2025-10-19 | 新增窗口焦点控制功能,支持进程和窗口标题过滤 | 大幅提升使用安全性 |
| 1.3 | 2025-10-16 | 配置结构优化,多键宏和单键宏统一存储 | 解决职业切换配置问题 |
| 1.2 | 2025-10-09 | GUI用QT5重构,输入方式改为SendInput | 提升输入兼容性和稳定性 |
| 1.1 | 2025-08-10 | 首版发布,基于TKinter构建 | 基础功能实现 |
🚀 十三、开始使用
立即下载,开启你的自动化冒险之旅!
- 🛡️ 合理使用宏工具,享受游戏乐趣
- 📚 遵守游戏规则,避免账号风险
- 🔧 遇到问题先查看本手册故障排除章节
- 💝 开源项目,欢迎Star和贡献代码
22 条评论
我管理员运行的 属性里也勾了管理员,就只有键盘右侧所有数字键设置热键都不能用
是指横向键盘那一排数字按键吗?点击录制后,看下录制的是什么?还是说点击录制后按下按键没有反应
不是横向, 是键盘右边小键盘那些数字键 我录制后是显示录制的虚拟代码,但是启用配置后按热键没反应
哦,小键盘没有做的,需求太小众了。
作者加油 空了研究一下 罗技 换了鼠标 难受死了
已经找到问题了,罗技的 Logitech G HUB 最新版本,提高了他本身在系统里面的优先级,已经找到解决办法了,目前还在做多配置,组合按键,下个版本一起发。
好像打不开下载链接了
多刷新几次或者隔个几分钟再试,用的alist对接的阿里云盘,接口不太稳定。😂
有老版本吗 给我网站我下载一下 我安装老的也直接出现新版本
我在国外的罗技网站下载的:https://support.logi.com/hc/en-us/articles/360025298133-Logitech-G-HUB、下载这个版本就可以:Software Version: 2023.1.364056 安装完了记得先关闭自动更新
Software Version: 2023.1.364056 我使用了 還是這樣算了 無語
我也找找看老版本
老哥,Logitech G HUB 怎么退老版本?下载安装的始终是最新版本💫
我也是,下载的老版本安装包,安装后直接变成最新的了,66M的似乎都是在线安装包,我直接找了一个200多M的,2023年版本的,就OK了。
1.為什麼我使用的時候會停止不了?一直自動重複,我要切出去才能停止自動 。如果沒選擇只能在遊戲界面 到桌面也在自動重複
可以描述的再具体一点吗?根据您描述的信息应该是用的第一种模式,第一种模式是 按下启动(宏),再次按下停止(宏),如果使用焦点控制功能,请添加窗口后,选择窗口模式执行 😝🍭🤨🚲
模式3 是窗口 有時候會一直自動循環技能 本來我是鼠標側啟動 只能切別的窗口才能停止
是罗技鼠标吗🤔 我使用罗技鼠标也有这个问题,一度怀疑代码的线程处理机制有问题,排查了好几遍也没找到问题。然后我换了一个别的鼠标,杂牌子带侧键的,就再也没出过这个问题,如果你也是罗技鼠标可以换个鼠标试下。
哈哈哈 確實是罗技鼠标 ....
哈哈 我也是罗技鼠标,和你一样的问题🤦♀️
确认了,确实是新版本的 Logitech G HUB 的问题,新版本对侧键的松开事件,有遗漏,尝试退回老版本,并关闭自动更新。
先用其他鼠标吧,我空了研究一下,初步的推断是Ghub 最新版本有什么问题,因为之前我用罗技是没问题的,最近一次ghub自动更新后就有这个问题出现了。