罗技鼠标 Lua 脚本入门:准备工作篇
2023-7-31 17:53:11 Author: sspai.com(查看原文) 阅读量:97 收藏

强大的 Lua 鼠标脚本是我坚持使用罗技鼠标很大一部分的原因,但缺少一些基础知识的朋友可能很难上手。希望这篇新手入门教程能帮助大家随心所欲地编写符合自己需求的鼠标脚本。

许多玩游戏的朋友可能和我一样用的是罗技鼠标。我从最开始的 G304 到现在的 G604,一是看重它的性能,二就是想体验强大的 Lua 鼠标脚本,这也是我坚持使用罗技鼠标很大一部分的原因,可以说用过就回不去了。

我之前也写过很多篇罗技鼠标脚本的分享文章,但缺少一些基础知识的朋友可能很难上手。因为罗技最新的鼠标驱动 Logitech G HUB(下面简称 LGH)交互界面逻辑相当混乱,且不说 Lua 的语法,光是找个脚本编写的入口可能都不容易。

所以,这次我来从头写一篇新手入门教程,希望能帮助大家随心所欲地编写符合自己需求的鼠标脚本。

Lua 脚本能做什么?

首先介绍一下学会编写鼠标脚本之后能够做到的事情。很多人为了方便日常工作,会给电脑安装类似「鼠标转轮」的应用,通过拖动鼠标完成一些快捷操作或输出。但其实,只要你有一只罗技鼠标,就能用轻易做到下面这样的操作

FZEyblU2toorUoxTzWXcry0FnGd
这里显示的是我鼠标的操作
C1fWbjbLgo5Ormxn4Atc4JWHnNb
这里是对应操作得到的输出

想了解罗技脚本功能,最简单的方法莫过于看官方的 API 文档,我在这里截取了一部分最重要的功能函数。

函数名 功能
Sleep 脚本暂停指定时间
PressKey 按下键盘任意键
ReleaseKey 松开键盘任意键
IsModifierPressed 判断修饰键状态(Alt/Ctrl/Shift)
IsKeyLockOn 判断锁定键状态(Scroll Lock/Num Lock/Caps Lock)
PressMouseButton 按下鼠标任意键
ReleaseMouseButton 松开鼠标任意键
IsMouseButtonPressed 判断鼠标任意键是否按下
MoveMouseTo 移动鼠标到屏幕任意位置
MoveMouseRelative 移动鼠标到任意相对位置
GetMousePosition 获取鼠标当前位置
MoveMouseWheel 滚动鼠标滚轮
PressMacro 模拟按下宏按键
ReleaseMacro 模拟松开宏按键

相较于简单的录制宏,脚本可以额外获取鼠标位置和控制鼠标移动,同时还能获取修饰键及锁定键状态,搭配上 Lua 语言本身的条件判断和循环控制,可以实现近乎所有的复杂键鼠操作。大把商家拿来卖钱的一键压枪、一键多用只是基础操作,可以说,在脚本中编写一个文字游戏都不是难事。

当然,因为罗技没有开放鼠标所在像素点的颜色判断功能,所以无法编写真正意义上的自动化脚本,比如游戏挂机脚本就基本无法实现,毕竟 Lua 无法判断当前游戏进程。

工具准备

不管是办公还是游戏,都推荐安装罗技的鼠标驱动。首先可以更改键位,其次是可以录制鼠标宏、编写 Lua 脚本,最后是可以为不同的应用程序定制不同的鼠标配置文件,实现不同程序间的自动配置切换。如果登录的话还可以分享和下载鼠标配置文件。

罗技鼠标的驱动其实有新旧两个版本,说实话,我更喜欢老版本的驱动,那个版本界面清晰、功能完善,还支持完整的板载宏,但是很可惜罗技为了保住电竞鼠标的龙头地位自我阉割了板载宏的大部分支持,推出了 LGH 这个新版驱动。

旧版驱动 LGS

老驱动叫做 Logitech Gaming Software(下面简称 LGS),如果你用的鼠标型号比较老(例如 G304),那么建议你使用 LGS 以获得完整体验。你可以去罗技官网搜索鼠标型号,在详情页点击「支持-查看所有下载」跳转到驱动下载页面,查看是否有 LGS 提供下载。

G8j4b7rafoRC4nxYlu5cRa1Wnob

新版驱动 LGH

许多新款鼠标,包括我现在使用的 G604,并不支持 LGS,所以只能忍痛使用 LGH。本文的教程也会以 LGH 为例展开。但两者的原理是相似的,会使用更加复杂的 LGH 的话,LGS 也不在话下。

LGH 看着是升级,其实是倒退。因为板载宏无法检测的特性,罗技为了保证在国际电竞赛事中的主导地位,主动进行了一波反向升级。升级的结果就是 LGH 必须持续后台运行,你花大价钱买来的鼠标功能才是完整的,才能使用大部分的宏和 Lua 脚本。

其实如果不想着在游戏里使用鼠标宏的话,后台开着一个驱动也不算太麻烦。(而且大部分游戏也不怎么检测罗技的驱动程序,起码我没有因此被封过号。)

设置开机自启

LGH 需要以管理员身份运行才能在部分全屏应用中生效,但以管理员运行 LGH 后,基本都会遇到软件内的开机自启选项失效的问题。

有两种比较简单稳定的方法可以设置软件开机自启,第一种是添加计划任务,第二种是修改注册表。两种方法随便选择一种即可。

选择添加计划任务的话,首先打开「计算机管理」窗口,选择「系统工具-任务计划程序」,在右边出现的「操作」栏中选择「创建任务」,设置好 LGH 路径与登录时启动,保存即可。

修改注册表

如果你的电脑是多用户使用的话,推荐修改注册表。

在注册表编辑器的左侧菜单中找到如下位置,在该位置创建一个新的字符串值,值的内容为程序的启动命令。

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run

根据安装软件时的指定目录,按照实际路径修改下面的示例即可。

"C:\Program Files\LGHUB\lghub.exe" --background
RVsRb8HDuoPpOfxz6m3cftLOnhs

了解配置文件

因为后面的 Lua 脚本编程需要依托于 LGH 才能实现,所以在正式开始脚本编写之前需要先了解一下软件功能的使用方法。

配置文件

配置文件是 LGH 中最重要的概念,LGH 在安装完成后会自动查找电脑中的游戏,桌面和每个游戏都会自动生成一个默认配置,也可以自己添加应用。配置文件中包含鼠标 DPI、键位布局、Lua 脚本在内的所有内容。打开游戏后,该游戏对应的配置文件就会激活(可以手动取消部分应用程序的自动切换功能)。

当鼠标控制权归于没有指定配置文件的应用窗口或桌面时,鼠标都会切换回桌面的指定配置文件。也可以把某个配置设置为永久性配置文件,将鼠标配置固定。

GLIcbNpLmo7ZwlxoZAAcdxben9f
HuFobtsd1ob2Z0xTa6pcmDwmnKf

鼠标宏

鼠标宏定义就是在鼠标里预先设定好一系列操作,可以实现点击一个按键完成一系列操作。

罗技鼠标支持四种不同形式的宏,具体参见下面的表格。


文章来源: https://sspai.com/prime/story/logi-lua-scripting-1
如有侵权请联系:admin#unsafe.sh