G-series Lua API
参考文档
V8.50
预览与概述
1
手册目录
手册目录............................................................................................................................. 2
内容预览............................................................................................................................. 3
参考文档............................................................................................................................. 4
标准 Lua 5.1 库................................................................................................................... 40
附录 A............................................................................................................................... 41
2
内容预览
G-series Lua API 参考手册是一套使用 Lua 脚本编程语言描述并且为 G-series 系列游戏键盘提
供高级脚本功能。
该文档是在假设您已初步掌握 Lua 脚本编程语言使用方法的前提下进行的。如果您想了解
更多信息请访问 www.lua.org。
每项 G 系列 的配置文件都有一个默认的 Lua 脚本与其绑定,并且您可以根据您的喜好随意编辑
或者自定义。该脚本借助并使用一个名为 OnEvent 的事件句柄。用户可以通过检查此句柄中触
发的各种事件以执行用户所希望的动作。
3
参考文档
方法列表
OnEvent.............................................................................................................................. 5
GetMKeyState...................................................................................................................... 7
SetMKeyState ...................................................................................................................... 8
Sleep .................................................................................................................................. 9
OutputLogMessage............................................................................................................. 10
GetRunningTime ................................................................................................................ 11
GetDate ............................................................................................................................ 12
ClearLog............................................................................................................................ 13
PressKey ........................................................................................................................... 14
ReleaseKey........................................................................................................................ 15
PressAndReleaseKey........................................................................................................... 16
IsModifierPressed............................................................................................................... 17
PressMouseButton.............................................................................................................. 18
ReleaseMouseButton .......................................................................................................... 19
PressAndReleaseMouseButton............................................................................................. 20
IsMouseButtonPressed ....................................................................................................... 21
MoveMouseTo ................................................................................................................... 22
MoveMouseWheel .............................................................................................................. 23
MoveMouseRelative............................................................................................................ 24
MoveMouseToVirtual .......................................................................................................... 25
GetMousePosition............................................................................................................... 26
OutputLCDMessage............................................................................................................ 27
ClearLCD........................................................................................................................... 28
PlayMacro.......................................................................................................................... 29
AbortMacro........................................................................................................................ 30
IsKeyLockOn ..................................................................................................................... 31
SetBacklightColor ............................................................................................................... 32
OutputDebugMessage ........................................................................................................ 33
SetMouseDPITable ............................................................................................................. 34
SetMouseDPITableIndex..................................................................................................... 35
EnablePrimaryMouseButtonEvents ....................................................................................... 36
G13 Programming .............................................................................................................. 37
4
OnEvent
OnEvent() 方法为脚本提供了一系列事件句柄以方便用户对触发的事件进行操作,您可以使用
以下代码实现此方法。
function OnEvent(event, arg [, family])
end
参数列表
event
arg
family
该字符串包含了用户所触发的事件名称。
与事件标识符相对应的参数值。
触发硬件事件的设备族,如果您确定您的脚本不针对于特定硬件则将其留空即
可。仅当您确定需要区分多个输入时使用此参数。
特定设备
键盘设备 (G15, G11, G19, etc)
左手用控制器 (G13, etc)
受支持的鼠标 (G300, G400, etc)
设备族
“kb”
“lhc”
“mouse”
返回值
无返回值
备注信息
下方列表是事件标识符以及其对应参数值:
事件名
"PROFILE_ACTIVATED"
参数值
无
"PROFILE_DEACTIVATED"
无
"G_PRESSED"
"G_RELEASED"
"M_PRESSED"
"M_RELEASED"
1=G1
18=G18
n = Gn
1=G1
18=G18
n = Gn
1=M1
2=M2
3=M3
1=M1
描述信息
配置文件被激活时,此事件
为脚本的第一个事件。
配置文件被反激活时,此事件
为脚本的最后一个事件。
G Key 按下时
G Key 释放时
M Key 按下时
M Key 释放时
5
“MOUSE_BUTTON_PRESSED”
“MOUSE_BUTTON_RELEASED”
2=M2
3=M3
2=鼠标按键 2
3=鼠标按键 3
4=鼠标按键 4
…
2=鼠标按键 2
3=鼠标按键 3
4=鼠标按键 4
..
鼠标按键被按下时
注意:鼠标左键 (1) 默认将不会
对此事件进行回应。您可以使用
‘EnablePrimaryMouseButtonEvents
’ 方法将其覆盖。
注意:鼠标左键 (1) 默认将不会
对此事件进行回应。您可以使用
‘EnablePrimaryMouseButtonEvents
’ 方法将其覆盖。
代码示范
-- 此事件作为主事件句柄
-- 您必须首先实现该方法
function OnEvent(event, arg)
-- 配置文件已被激活
-- G1 已被按下
-- G1 已被释放
-- M1 已被按下
-- M1 已被释放
-- 配置文件已被反激活
if (event == "PROFILE_ACTIVATED") then
end
if (event == "PROFILE_DEACTIVATED") then
end
if (event == "G_PRESSED" and arg == 1) then
end
if (event == "G_RELEASED" and arg == 1) then
end
if (event == "M_PRESSED" and arg == 1) then
end
if (event == "M_RELEASED" and arg == 1) then
end
if (event == "MOUSE_BUTTON_PRESSED" and arg == 6) then
End
if (event == "MOUSE_BUTTON_RELEASED" and arg == 6) then
end
-- 鼠标按键 6 已被按下
-- 鼠标按键 6 已被释放
end
6
GetMKeyState
GetMKeyState() 返回当前 M Key 状态值。
mkey GetMKeyState([family]);
参数列表
family
设备族
“kb”
“lhc”
返回值
mkey
备注信息
当您希望区分多个输入设备时请使用该可选设备族属性,默认为 “kb”。
特定设备
键盘设备 (G15, G11, G19, etc)
左手用控制器 (G13, etc)
1 = M1, 2 = M2, 3 = M3
代码示范
-- 获取当前 M Key 状态
current_mkey = GetMKeyState()
7
SetMKeyState
SetMKeyState() 可以设置当前 M keys 激活状态。请注意:如果您紧接着该方法调用
GetMKeyState 方法将返回上次状态码。使用 OnEvent 句柄以确定当前操作是否完成。
mkey SetMKeyState(mkey, [family]);
参数列表
mkey
family
设备族
“kb”
“lhc”
1 = M1, 2 = M2, 3 = M3
当您希望区分多个输入设备时请使用该可选设备族属性,默认为 “kb”。
特定设备
键盘设备 (G15, G11, G19, etc)
左手用控制器 (G13, etc)
返回值
无返回值
备注信息
代码示范
-- 当 G1 被按下时设置当前 M Key 状态为 M1
function OnEvent(event, arg)
SetMkeyState(1);
if (event == "G_PRESSED" and arg == 1) then
end
end
8