跳转至内容

键鼠助手5.0

2 主题 2 帖子

此版块可通过开放社交网络使用标识符 键鼠助手5.0@phubber.com 关注

  • 键鼠助手 5.0 资源汇总:主程序 / 文档 / 配套工具下载

    已固定 已锁定 键鼠助手 Lua宏
    1
    0 赞同
    1 帖子
    63 浏览
    A
    键鼠助手 5.0 的全部资源集中在这里:主程序(Windows / macOS)、使用文档和两个配套小工具。 每个条目都写清了适用平台、内容和注意事项,按需下载即可。有任何问题欢迎在本帖下回复。 下载清单 # 分类 文件名 平台 大小 1 主程序 KMA_Software_v5.20_release.zip Windows 10 及以上,64 位 24.73 MiB 2 主程序 KMA_5.20_Release.dmg macOS 62.04 MiB 3 说明文档 键鼠助手 5.0 使用文档.md 全平台通用 18.28 KiB 4 配套工具 键盘鼠标事件录制工具.exe Windows 176.00 KiB 5 配套工具 鼠标定位.exe Windows 56.00 KiB 主程序 KMA_Software_v5.20_release.zip 键鼠助手 5.0 的 Windows 完整发布包,解压即用,无需安装。包含主程序 键鼠助手5.exe、按键映射.exe、键鼠透传.exe 三个可执行程序,另有自带更新器 updater.exe、二次开发用的 kma_api_x64_shared.dll 与 Qt 6 运行库。 适用系统:Windows 10 及以上,64 位 内含三个程序:键鼠助手5.exe(键鼠助手主程序,含宏绑定、宏编辑与烧录)、按键映射.exe、键鼠透传.exe 对应版本:KMA Software v5.20,本版新增内置函数 GetUpTime()(毫秒级运行时钟,用法与示例见 键鼠助手 5.20 新增内置函数 GetUpTime()) 本版为精简发布包:不再附带调试版运行库(*d.dll)、Qt 翻译文件、.pdb 与 tools/ 打包脚本 下载 KMA_Software_v5.20_release.zip(24.73 MiB) 注意事项 解压后请整目录使用,不要只取单个 exe —— 程序与 Qt 运行库必须在同一目录。 包内不再附带 vc_redist.x64.exe;若提示缺少 VCRUNTIME140.dll,请自行到微软官网安装 VC++ 2015–2022 x64 运行库。 首次运行 Windows SmartScreen 可能拦截,点「更多信息 → 仍要运行」。 KMA_5.20_Release.dmg 键鼠助手 5.0 的 macOS 磁盘映像,挂载后内有三个 app:键鼠助手.app(主程序)、按键映射.app、键鼠透传.app,拖入「应用程序」即可使用。 适用系统:macOS(已集成 Qt 6 框架与 OpenSSL) 内含三个 app:键鼠助手(宏绑定 / 宏编辑)、按键映射、键鼠透传 对应版本:KMA 5.20 Release 支持软件内检查更新(关于 → Check Software Update) 下载 KMA_5.20_Release.dmg(62.04 MiB) 注意事项 三个 app 必须放在同一目录(例如都拖进「应用程序」)。按键映射 / 键鼠透传是外壳 app,靠启动器调用主程序包里的真实程序,只装外壳无法运行。 不要直接在挂载的 dmg 里运行 —— 映像只读,配置无法写入,自更新也会失败。 首次打开可能需要到「系统设置 → 隐私与安全性 → 输入监控」重新授予权限。 本包为 ad-hoc 签名,未做 Apple Developer ID 公证;Gatekeeper 可能提示「无法验证开发者」,需右键「打开」或先去掉隔离属性(xattr -d com.apple.quarantine 键鼠助手.app)。 说明文档 键鼠助手 5.0 使用文档.md 键鼠助手 5.0 的完整使用文档(Markdown 源文件),涵盖软件界面讲解、宏的完整使用流程、Lua 脚本语法与全部键鼠函数定义。建议在使用软件前先通读一遍。 特色功能:纯硬件 Lua 宏、三种触发方式、单键可绑按下/松开两个宏、延时误差小于 1ms、10 个可切换场景 UI 讲解:宏绑定、宏编辑(三栏:宏目录 / 编辑器 / 函数说明)、偏好、关于、状态栏 脚本流程:编辑 → 编译校验语法 → 运行 Lua 测试 → 绑定按键与触发类型 → 烧录 → 实机验证 语法参考:数据类型、控制语句、键盘鼠标命令与全部函数定义 下载 键鼠助手 5.0 使用文档.md(18.28 KiB) 注意事项 文档针对 5.0 版本撰写,4.0 及以下版本的界面与函数名不完全一致。 Markdown 源文件,可用任意编辑器或 Typora 打开。 配套工具 键盘鼠标事件录制工具.exe 写宏时的辅助录制工具:把你对键盘和鼠标的真实操作录下来,直接生成可用的 Lua 宏脚本,省去手工写参数的过程。录完可预览、复制或保存成 .lua,再粘到键鼠助手的「宏编辑」里编译烧录。 可分别开关:单独选择「录制键盘事件」或「录制鼠标事件」 鼠标事件完整:按下 / 松开 / 移动 / 滚轮,区分左键、右键、中键、侧前键、侧后键 热键控制:按自定义热键开始 / 停止录制,无需切回界面点到按钮 后台录制:最小化到系统托盘后仍继续录制,双击托盘图标恢复窗口 导出方式:脚本预览、复制到剪贴板、保存 .lua 文件 下载 键盘鼠标事件录制工具.exe(176.00 KiB) 注意事项 采用低级钩子(low-level hook)采集全局输入,杀毒软件可能敏感拦截,请放行。 若提示「输入钩子启动失败」或「当前平台暂不支持全局输入钩子」,请以管理员身份运行。 录制结果是事件序列的直接翻译,使用前建议先在宏编辑里「编译」校验,并精简多余的鼠标移动采样点。 鼠标定位.exe 屏幕坐标辅助工具:在鼠标位置叠加显示实时坐标。写需要精确位移、或要定位到某个像素点的宏时,用它读出目标坐标,再把数值填进脚本。 叠加显示:跟随鼠标显示当前坐标,不抢焦点 全局热键:随时开关显示 设置面板:右键菜单可进入,调整显示方式 多显示器:按可用屏幕区域取坐标 下载 鼠标定位.exe(56.00 KiB) 注意事项 绿色免安装单文件,双击即用。 热键若与其他软件冲突,在系统托盘退出本工具后重开即可解除占用。 坐标以屏幕左上角为原点,填脚本前请确认脚本里用的是否同为绝对坐标。 上手顺序推荐 先看 使用文档,了解宏绑定、宏编辑和烧录的完整流程; 下载对应平台的主程序(Windows 解压即用 / macOS 拖入应用程序); 写脚本时可配合 录制工具 生成骨架、用 鼠标定位 取坐标; 测试通过后再点到键鼠助手里烧录到硬件。
  • 0 赞同
    1 帖子
    14 浏览
    A
    这篇说明 5.20 版本新增的内置函数 GetUpTime():宏脚本里第一个「读时间」的接口。 它没有参数,返回设备开机以来经过的毫秒数,用来计量耗时、给动作做绝对时间对齐。 相关: 键鼠助手 5.0 资源汇总:主程序 / 文档 / 配套工具下载 一句话用法 local t = GetUpTime() -- 单位毫秒,整型;返回值一般只用来算差值 接口说明 函数 参数 返回值 说明 GetUpTime() 无 整型 设备开机以来经过的毫秒数 几点需要说清楚: 不是「当前时间」:它是「开机以来的时长」,设备上电时从 0 开始,不表示几点几分,也不是时间戳。它的用途是算差值。 单位是毫秒,返回值是整型:脚本里 math.type(GetUpTime()) 得到 integer,可以直接参与加减乘除与比较。 分辨率 1 毫秒:设备内部按更细的步长计数,换算成毫秒时向下取整,所以相邻两次调用可能返回同一个值。 不会溢出:毫秒计数是 64 位整数,连续开机到溢出需要以「亿年」计,正常使用无需关心。 大小写不敏感:GetUpTime() 与 getuptime() 是同一个函数,和 IsKeyDown / iskeydown 的规则一致。 它是「读时钟」,不是「等待」:调用本身几乎不耗时、不会阻塞宏;要等一段时间请用 Delay(毫秒)。 在电脑上先调好再上机:两种环境的时间原点不同 同一个 GetUpTime(),在两个地方跑,时间原点不一样: 运行环境 时间原点 典型用途 编辑器 →「脚本校验」 本次校验开始的时刻 在电脑上先确认脚本的节奏与耗时 设备(真机) 设备本次上电的时刻 真实的宏执行计时 所以不要跨环境比较绝对数值(电脑上的 1200 和真机上的 1200 不是一个起点),只比较同一个环境内的差值。 用法一:测量一段宏的耗时 取两次时间戳相减,就能知道中间这段动作真实花了多久 —— 排查「宏为什么比预期慢」时很有用。 local t0 = GetUpTime() KeyTap("a") Delay(300) KeyTap("b") Log("这一段耗时 %d ms", GetUpTime() - t0) Log 的首个参数带 %d 时按 printf 格式化,数字会原样打印出来,便于对照。 用法二:用绝对时间对齐,避免 Delay 累积误差 连续多次 Delay(500) 时,每一步自身的执行耗时会让整体越走越慢,误差逐次累加。 改用「目标时刻」判断,就能把每轮的落点重新拉回时间轴上: -- 执行 4 轮,每轮之间间隔 500ms,落点分别对齐到 500 / 1000 / 1500 / 2000ms local t0 = GetUpTime() for i = 1, 4 do KeyTap("f") local target = i * 500 while GetUpTime() - t0 < target do Delay(10) -- 小步让出,别用空转等待 end end 要点:等待循环里一定要有 Delay(小值),不要把 while 写成不带 Delay 的紧凑空转。 用法三:把宏做成固定的节拍 需要「每 1 秒做一件事、共 5 次」这类节奏时,用时间戳做判断比用 Delay 堆叠更稳: local last = GetUpTime() local count = 0 while count < 5 do local now = GetUpTime() if now - last >= 1000 then last = last + 1000 -- 以理论落点累加,不丢节拍 KeyTap("space") count = count + 1 end Delay(10) end last = last + 1000(而不是 last = now)能让误差不累积:即使某轮判定晚了一点,下一轮的落点仍然回到原来的时间轴上。 版本要求与兼容性 组合 结果 5.20 软件 + 配套固件 正常使用 5.20 之前的软件 编译不通过:GetUpTime 会被当成未定义的函数 5.20 软件 + 更早的固件 宏在设备上执行到该函数时会失败中断(不会静默返回 0) 所以升级软件时,请把固件一并升到配套版本。软件与固件的版本对应关系,参考资源汇总帖里的说明。 还是有问题? 在本帖下回复,写清楚:软件版本(关于页的 Software version)+ 固件版本 + 你脚本里调用 GetUpTime() 的那几行 + 现象。