不知道有多少人自己试着写过罗技鼠标宏的脚本,我写过一个,那可是想当的痛苦呐!无数次掉进坑里- –

首先,这个罗技的API命名是真的让人头大。。
OutputLogMessage、OutputLCDMessage、OutputDebugMessage (这三胞胎长得又像名字又长)
PressKey、ReleaseKey、PressAndReleaseKey (直接用 And 连起来是不是太随意了?)
MoveMouseTo、MoveMouseRelative、MoveMouseToVirtual、MoveMouseWheel (一样长得离谱。。)

像我这样的渣渣英文水平,光是背API里的单词都要额外的负担- –
实际开发时写这么一长串的字母也是显得效率低下——

所以,为了提高开发效率,我分别给他们分别起了小名:

logMsg、lcdMsg、debugMsg (前面的 Output 去掉,一眼可以看出区别了,后面的 Message 也进行缩写)
keyDown、keyUp、keyTap (意思很直接,按键按下,按键弹起,按键轻击,简单明了)
moveTo、move、moveToThis、wheel (带to的绝对移动,不带to的相对移动,最后这个wheel滚轮压根和move没关系吧??这命名惯性思维了?)

现在再看,API已经简短了许多。
当然不止这些,所有的API都可以重命名,有些API甚至可以多个整合成一个,比如啊

IsMouseButtonPressed 和 IsModifierPressed 这两个方法都是用来判断“是否是按住状态”的
但前者判断的是鼠标是否按住,而且参数只接受 1 ~ 5 的数字
而后者判断的是键盘是否按住,而且参数只接受 lctrl、latl、lshift……等共6种修饰键,9种描述方式的字符串
发现了吗?我们其实根据传入的参数数据类型进行判断,就可以区分开来两个方法,因此整合成一个方法是完全可行的!
整合后的方法将其命名为 isPressed 是否更好记忆了呢?

除了API这些坑点,罗技在获取鼠标键位时也有一个致命坑点。
举个栗子:

[Lua] 纯文本查看 复制代码
function OnEvent (event, arg, family)
OutputLogMessage(arg)
end

这段代码运行后,你按鼠标左键,显示1,你按中间,显示3,你按右键显示2
但是如果你使用罗技的 API – IsMouseButtonPressed 判断鼠标键是否按住时,
传入的参数1代表左键,但是2代表的是中键,3代表的才是右键!
这是不是很搞脑子??
聪明的做法是使用

[Lua] 纯文本查看 复制代码
if arg == 2 then arg = 3 elseif arg == 3 then arg = 2 end

进行一次转换。
但是现在,你们有另一种方法了:
直接使用

[Lua] 纯文本查看 复制代码
lmf.on("load", function (e)
console.log("hello world")
end)

上面代码相当于

[Lua] 纯文本查看 复制代码
function OnEvent (event, arg, family)
if event == "PROFILE_ACTIVATED" then
OutputLogMessage("hello world\\n")
end
end

lmf.on 第一个参数是监听的事件,第二个参数是一个回调方法。
lmf.on 重写了 event,并且回调方法还会接受一个包含各种信息的合集,其中 e.g 就是 arg,且已经使用上面提到的方法进行了转换。

当然,这个方法只有在我写的罗技宏框架里才可以使用~
有兴趣自己写鼠标宏的小伙伴可以关注一下我的框架——

github项目:https://github.com/kiccer/logitech-macro-frame

另外,这个项目起源于我的另一个项目:https://github.com/kiccer/Soldier76
(这个是吃鸡鼠标宏项目,目前 Star 200+,github上唯一保持活跃的罗技吃鸡鼠标宏脚本项目)

希望各位多多支持~

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源