/logitech-macro-frame

罗技宏框架 - 提炼自 kiccer/Soldier76 项目

Primary LanguageLuaMIT LicenseMIT

Logitech Macro Frame

罗技宏框架,以降低开发成本、
提高代码可维护性、可阅读性为宗旨,
为开发者提供更方便的API和更实用的方法。
欢迎Star⭐,您的支持就是我更新的最大动力!

lua-5.1 logitech-✔ lgs-9.02.65 version-latest


项目提炼自 kiccer/Soldier76

前言

编写过罗技鼠标宏脚本的开发者都知道,罗技宏的开发过程十分坎坷,且进度缓慢:难以记忆的API、自相矛盾的设计、阉割的语言…… 正是因为这些诸多不足,所以此框架才应运而生。在此框架中,完善了一些原生API的缺陷,甚至将多个API整合成一个,此外还提供了很多非常实用的方法。使用此框架后,你将获得全新的编写体验。

第一次写罗技宏脚本?没问题!你完全不需要去了解原始的编写方式,使用此框架就够了。

获取项目

点击右上角的 Fork 即可获取本项目。

Fork 之后进入自己的项目里,然后修改项目名,再使用 git 工具拉取到本地,即可上手开发。

开发时请注意编写区域,代码中有三块主要区域: 脚本使用者配置框架核心代码 以及 脚本编写区

请看清注释提示,尽量不要改动 框架核心代码

脚本使用者配置脚本编写区 可以自由修改。

开发技巧

在此框架中,使用 lmf.on 来监听事件:

lmf.on("load", function (e)
	console.log("hello world")
end)

这段代码的效果其实就是相当于:

function OnEvent (event, arg, family)
  if event == "PROFILE_ACTIVATED" then
    OutputLogMessage("hello world\n")
  end
end

lmf.on 方法接受两个参数: eventNamecallback

可供选择的监听事件(eventName)有:

  • load - 监听 脚本加载 事件
  • unload - 监听 脚本退出 事件
  • mousedown - 监听 鼠标按下 事件
  • mouseup - 监听 鼠标弹起 事件
  • gkeydown - 监听 G键按下 事件
  • gkeyup - 监听 G键弹起 事件
  • mkeydown - 监听 M键按下 事件
  • mkeyup - 监听 M键弹起 事件

第二个参数(callback)是一个回调函数,该函数将会在监听的事件触发时被调用,并获得一个参数(e),参数内容如下:

{
     capslock = false, -- 大写锁定键是否开启
     scrolllock = false, -- 滚动锁定是否开启
     numlock = true, -- 小键盘锁定是否开启
     modifier = {}, -- 哪些修饰键是按住的状态 (lalt、lctrl、lshift、ralt、rctrl、rshift)
     family = "other", -- 触发事件的设备 (鼠标或其他)
     g = 0, -- 触发事件的 G 键,包括鼠标、键盘、耳机等
     event = "load", -- 触发的事件
     pressed = {} -- 哪些 G 键是按住的状态 (仅支持判断 g1、g2、g3、g4、g5 五个鼠标 G 键)
}

参考文档

许可声明

  • 本框架脚本使用 MIT 许可,允许商用,允许二次开发后出售。

交流群

  • 欢迎加入技术交流QQ群:logitech 鼠标宏技术交流 (768483124)

问题反馈

  • 使用框架时有任何疑问,或框架存在不足之处可以在 Issues 反馈给我

谁使用了此框架

  • 暂无...

* 另,作者Lua语言的水平仅有入门水准,如果发现代码中有任何可改进的地方,欢迎提交PR!