罗技G系列外设宏命令编程参考.docx
- 文档编号:8870616
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:33
- 大小:25.22KB
罗技G系列外设宏命令编程参考.docx
《罗技G系列外设宏命令编程参考.docx》由会员分享,可在线阅读,更多相关《罗技G系列外设宏命令编程参考.docx(33页珍藏版)》请在冰豆网上搜索。
罗技G系列外设宏命令编程参考
G-seriesLuaAPI参考文档
预览与概述
手册目录
手册目录.............................................................................................................................2
内容预览.............................................................................................................................3
参考文档.............................................................................................................................4
标准Lua库...................................................................................................................40
附录A...............................................................................................................................41
内容预览
G-seriesLuaAPI参考手册是一套使用Lua脚本编程语言描述并且为G-series系列游戏键盘提供高级脚本功能。
该文档是在假设您已初步掌握Lua脚本编程语言使用方法的前提下进行的。
如果您想了解更多信息请访问。
每项G系列的配置文件都有一个默认的Lua脚本与其绑定,并且您可以根据您的喜好随意编辑或者自定义。
该脚本借助并使用一个名为OnEvent的事件句柄。
用户可以通过检查此句柄中触发的各种事件以执行用户所希望的动作。
参考文档
方法列表
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
G13Programming..............................................................................................................37
OnEvent
OnEvent()方法为脚本提供了一系列事件句柄以方便用户对触发的事件进行操作,您可以使用以下代码实现此方法。
functionOnEvent(event,arg[,family])
end
参数列表
event
该字符串包含了用户所触发的事件名称。
arg
与事件标识符相对应的参数值。
family
触发硬件事件的设备族,如果您确定您的脚本不针对于特定硬件则将其留空即可。
仅当您确定需要区分多个输入时使用此参数。
设备族
特定设备
“kb”
键盘设备(G15,G11,G19,etc)
“lhc”
左手用控制器(G13,etc)
“mouse”
受支持的鼠标(G300,G400,etc)
返回值
无返回值
备注信息
下方列表是事件标识符以及其对应参数值:
事件名
参数值
描述信息
"PROFILE_ACTIVATED"
无
配置文件被激活时,此事件为脚本的第一个事件。
"PROFILE_DEACTIVATED"
无
配置文件被反激活时,此事件为脚本的最后一个事件。
"G_PRESSED"
1=G1
18=G18n=Gn
GKey按下时
"G_RELEASED"
1=G1
18=G18n=Gn
GKey释放时
"M_PRESSED"
1=M1
2=M2
3=M3
MKey按下时
"M_RELEASED"
1=M1
MKey释放时
2=M2
3=M3
“MOUSE_BUTTON_PRESSED”
2=鼠标按键2
3=鼠标按键3
4=鼠标按键4
…
鼠标按键被按下时
注意:
鼠标左键
(1)默认将不会对此事件进行回应。
您可以使用
‘EnablePrimaryMouseButtonEvents
’方法将其覆盖。
“MOUSE_BUTTON_RELEASED”
2=鼠标按键2
3=鼠标按键3
4=鼠标按键4
..
注意:
鼠标左键
(1)默认将不会对此事件进行回应。
您可以使用
‘EnablePrimaryMouseButtonEvents
’方法将其覆盖。
代码示范
--此事件作为主事件句柄
--您必须首先实现该方法
functionOnEvent(event,arg)
if(event=="PROFILE_ACTIVATED")then
--配置文件已被激活
end
if(event=="PROFILE_DEACTIVATED")then
--配置文件已被反激活
end
if(event=="G_PRESSED"andarg==1)then
--G1已被按下
end
if(event=="G_RELEASED"andarg==1)then
--G1已被释放
end
if(event=="M_PRESSED"andarg==1)then
--M1已被按下
end
if(event=="M_RELEASED"andarg==1)then
--M1已被释放
end
if(event=="MOUSE_BUTTON_PRESSED"andarg==6)then
--鼠标按键6已被按下
End
if(event=="MOUSE_BUTTON_RELEASED"andarg==6)then
--鼠标按键6已被释放
end
end
GetMKeyState
GetMKeyState()返回当前MKey状态值。
mkeyGetMKeyState([family]);
参数列表
family
当您希望区分多个输入设备时请使用该可选设备族属性,默认为“kb”。
设备族
特定设备
“kb”
键盘设备(G15,G11,G19,etc)
“lhc”
左手用控制器(G13,etc)
返回值
mkey
1=M1,2=M2,3=M3
备注信息
代码示范
--获取当前MKey状态
current_mkey=GetMKeyState()
SetMKeyState
SetMKeyState()可以设置当前Mkeys激活状态。
请注意:
如果您紧接着该方法调用GetMKeyState方法将返回上次状态码。
使用OnEvent句柄以确定当前操作是否完成。
mkeySetMKeyState(mkey,[family]);
参数列表
mkey
1=M1,2=M2,3=M3
family
当您希望区分多个输入设备时请使用该可选设备族属性,默认为“kb”。
设备族
特定设备
“kb”
键盘设备(G15,G11,G19,etc)
“lhc”
左手用控制器(G13,etc)
返回值
无返回值
备注信息
代码示范
--当G1被按下时设置当前MKey状态为M1
functionOnEvent(event,arg)
if(event=="G_PRESSED"andarg==1)then
SetMkeyState
(1);
end
end
Sleep
Sleep()方法将导致脚本暂停并等待所设置的时间后再继续执行。
Sleep(timeout);
参数列表
timeout
以毫秒为单位的睡眠时间。
返回值
nil
备注信息
脚本运行于主程序性能分析器不同的线程,所以脚本暂停时不会对其产生影响。
您可以使用此功能模拟操作延时。
性能分析器将等待一秒以使脚本执行完毕,超过该时间脚本将被强制中断。
请务必注意不要进行长时间的延时。
代码示范
--睡眠20毫秒
Sleep(20)
OutputLogMessage
OutputLogMessage()将输出日志消息至脚本编辑器的控制台操作窗中。
OutputLogMessage(...);
参数列表
message
输出样式、包含格式化字符串的消息文本。
返回值
nil
备注信息
()方法镜像。
您需要手动在末尾插入回车符"\n"以结束该段文本。
代码示范
--输出文本"HelloWorld"
OutputLogMessage("HelloWorld%d\n",2007)
GetRunningTime
GetRunningTime()方法将返回以毫秒为单位的执行脚本总时间。
elapsedGetRunningTime();
参数列表
无
返回值
elapsed
一个包含运行总毫秒时间的整数值。
备注信息
您可以使用此方法计算您脚本的运行时间。
.
代码示范
--显示脚本运行时间
OutputLogMessage("Thisscripthasbeenrunningfor:
%dms",GetRunningTime())
GetDate
GetDate()方法将获取已格式化的当前时间
dateGetDate([format[,time]])
参数列表
format
可选的日期字符串格式。
time
可选的时间表。
返回值
date
返回一个包含用户计算机当前日期以及时间(或参考时间)的字符串或时间表,根据所给的字符串格式就行字符串格式化,如果您希望提供自有格式化字符串,该方法将使用与strftime()相同的解析规则。
特殊字符串*t将使date()方法返回一个时间表。
备注信息
()方法镜像。
Example
--显示当前日期与时间
OutputLogMessage("Today’sdate/timeis:
%s\n",GetDate())
ClearLog
ClearLog()方法将清空脚本编辑器控制台中的输出内容。
ClearLog()
参数列表
无
返回值
nil
备注信息
无
代码示范
--清空脚本编辑器日志
OutputLogMessage("Thismessagewillselfdestructin2seconds\n")Sleep(2000)
ClearLog()
PressKey
PressKey()方法可被用于模拟键盘按键按下动作。
请注意:
如果您紧接着该方法调用IsModifierPressed方法或IsKeyLockOn方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
PressKey(scancode[,scancode]);
PressKey(keyname[,keyname]);
参数列表
scancode
特定数值扫描码对应的按键将被按下。
keyname
特定预定义键值对应的按键将被按下。
返回值
nil
备注信息
如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间按下。
关于扫描码或键值对应列表您可以参考附录A。
代码示范
--使用扫描码模拟键值"a"被按下
PressKey(30)
--使用键值模拟键值"a"被按下
PressKey("a")
--模拟"a"与"b"同时按下
PressKey("a","b")
ReleaseKey
ReleaseKey()方法可被用于模拟键盘按键释放动作。
ReleaseKey(scancode[,scancode]);
ReleaseKey(keyname[,keyname]);
参数列表
scancode
特定数值扫描码对应的按键将被释放。
keyname
特定数值键值对应的按键将被释放。
返回值
nil
备注信息
如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间释放。
关于扫描码或键值对应列表您可以参考附录A。
备注信息
--使用扫描码模拟键值"a"被释放
ReleaseKey(30)
--使用键值模拟键值"a"被释放
ReleaseKey("a")
--模拟"a"与"b"同时释放
ReleaseKey("a","b")
PressAndReleaseKey
PressAndReleaseKey()方法可被用于模拟键盘按键按下动作并跟随按键释放动作。
请注意:
如果您紧接着该方法调用IsModifierPressed方法或IsKeyLockOn方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
ReleaseKey(scancode[,scancode]);
ReleaseKey(keyname[,keyname]);
Parameters
scancode
特定数值扫描码对应的按键将被按下并随后被释放。
keyname
特定数值键值对应的按键将被按下并随后被释放。
返回值
nil
备注信息
如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间按下并随后释放。
关于扫描码或键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 罗技 系列 外设 命令 编程 参考