罗技G系列鼠标宏函数命令官方文档中文版.docx
- 文档编号:9268915
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:37
- 大小:26.07KB
罗技G系列鼠标宏函数命令官方文档中文版.docx
《罗技G系列鼠标宏函数命令官方文档中文版.docx》由会员分享,可在线阅读,更多相关《罗技G系列鼠标宏函数命令官方文档中文版.docx(37页珍藏版)》请在冰豆网上搜索。
罗技G系列鼠标宏函数命令官方文档中文版
LogitechG-seriesLuaAPI参考文档
V8.50
预览与概述
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
备注信息
string.format()方法镜像。
您需要手动在末尾插入回车符"\n"以结束该段文本。
代码示范
--输出文本"HelloWorld"
OutputLogMessage("HelloWorld%d\n",2007)
ClearLog
ClearLog()方法将清空脚本编辑器控制台中的输出内容。
ClearLog()
参数列表
无
返回值
nil
备注信息
无
代码示范
--清空脚本编辑器日志
OutputLogMessage("Thismessagewillselfdestructin2seconds\n")Sleep(2000)
ClearLog()
GetRunningTime
GetRunningTime()方法将返回以毫秒为单位的执行脚本总时间。
elapsedGetRunningTime();
参数列表
无
返回值
elapsed
一个包含运行总毫秒时间的整数值。
备注信息
您可以使用此方法计算您脚本的运行时间。
.
代码示范
--显示脚本运行时间
OutputLogMessage("Thisscripthasbeenrunningfor:
%dms",GetRunningTime())
GetDate
GetDate()方法将获取已格式化的当前时间
dateGetDate([format[,time]])
参数列表
format
可选的日期字符串格式。
time
可选的时间表。
返回值
date
返回一个包含用户计算机当前日期以及时间(或参考时间)的字符串或时间表,根据所给的字符串格式就行字符串格式化,如果您希望提供自有格式化字符串,该方法将使用与strftime()相同的解析规则。
特殊字符串*t将使date()方法返回一个时间表。
备注信息
os.date()方法镜像。
代码示范
--显示当前日期与时间
OutputLogMessage("Today’sdate/timeis:
%s\n",GetDate())
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方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
PressAndReleaseKey(scancode[,scancode]);
PressAndReleaseKey(keyname[,keyname]);
Parameters
scancode
特定数值扫描码对应的按键将被按下并随后被释放。
keyname
特定数值键值对应的按键将被按下并随后被释放。
返回值
nil
备注信息
如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间按下并随后释放。
关于扫描码或键值对应列表您可以参考附录A。
代码示范
--使用扫描码模拟键值"a"被按下并随后被释放
PressAndReleaseKey(30)
--使用键值模拟键值"a"被按下并随后被释放
PressAndReleaseKey("a")
--模拟"a"与"b"同时按下并随后释放
PressAndReleaseKey("a","b")
PressMouseButton
PressMouseButton()方法可被用于模拟鼠标按键被按下。
请注意:
如果您紧接着该方法调用IsMouseButtonPressed方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
PressMouseButton(button)
参数列表
button
按键标识符,您可以使用下表中列出的值:
按键值
对应操作
1
鼠标左键
2
鼠标中键
3
鼠标右键
4
鼠标按键X1
5
鼠标按键X2
返回值
nil
备注信息
无
代码示范
--模拟鼠标左键被按下
PressMouseButton
(1)
--模拟鼠标右键被按下
PressMouseButton(3)
ReleaseMouseButton
ReleaseMouseButton()方法可被用于模拟鼠标按键被释放。
ReleaseMouseButton(button)
参数列表
button
按键标识符,您可以使用下表中列出的值:
按键值
对应操作
1
鼠标左键
2
鼠标中键
3
鼠标右键
4
鼠标按键X1
5
鼠标按键X2
返回值
nil
备注信息
无
代码示范
--模拟鼠标左键单击(按下并释放)
PressMouseButton
(1)ReleaseMouseButton
(1)
PressAndReleaseMouseButton
PressAndReleaseMouseButton()方法可被用于模拟鼠标按键按下动作并跟随按键释放动作。
请注意:
如果您紧接着该方法调用IsMouseButtonPressed方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
PressAndReleaseMouseButton(button)
参数列表
button
按键标识符,您可以使用下表中列出的值:
按键值
对应操作
1
鼠标左键
2
鼠标中键
3
鼠标右键
4
鼠标按键X1
5
鼠标按键X2
返回值
nil
备注信息
无
代码示范
--模拟鼠标左键单击(按下并释放)
PressAndReleaseMouseButton
(1)
IsMouseButtonPressed
IsMouseButtonPressed()方法可用于确定某鼠标按键是否被按下。
booleanIsMouseButtonPressed(button)
参数列表
button
按键标识符,您可以使用下表中列出的值:
按键值
对应操作
1
鼠标左键
2
鼠标中键
3
鼠标右键
4
鼠标按键X1
5
鼠标按键X2
返回值
当修饰键被按下时将返回true反之则返回false。
备注信息
无
代码示范
--按下鼠标按键
PressMouseButton
(1)
ifIsMouseButtonPressed
(1)then
OutputLogMessage("Leftmousebuttonispressed.\n");
end
--释放该鼠标按键
ReleaseMouseButton
(1)
ifnotIsMouseButtonPressed
(1)then
OutputLogMessage("Leftmousebuttonisnotpressed.\n");
end
IsModifierPressed
IsModifierPressed()方法可用于确定某修饰键是否被按下。
booleanIsModifierPressed(keyname);
参数列表
keyname
特定预定义的修饰键键值是否被按下,该参数必须为下列表值之一:
修饰键
描述信息
"lalt","ralt","alt"
左侧、右侧或两侧Alt键
"lshift","rshift","shift"
左侧、右侧或两侧Shift键
"lctrl","rctrl","ctrl"
左侧、右侧或两侧Ctrl键
返回值
当修饰键被按下时将返回true反之则返回false。
备注信息
无
代码示范
--模拟按下特定修饰键
PressKey("lshift")
ifIsModifierPressed("shift")then
OutputLogMessage("shiftispressed.\n");
end
--释放该修饰键
ReleaseKey("lshift")
ifnotIsModifierPressed("shift")then
OutputLogMessage("shiftisnotpressed.\n");
end
IsKeyLockOn
IsKeyLockOn()方法可用于确定锁定键是否处于启用状态。
IsKeyLockOn(key)
参数列表
key
键值名可参考下表:
键值
对应操作
"scrolllock"
滚动锁定
"capslock"
大小写锁定
"numlock"
数字键锁定
返回值
当锁定键启用时将返回true反之则返回false。
备注信息
无
代码示范
--检查数字键锁定是否被启用,如果启用则将其关闭
if(IsKeyLockOn("numlock")then
PressAndReleaseKey("numlock");
end
MoveMouseTo
MoveMouseTo()方法可被用于移动鼠标指针至屏幕中的目标绝对坐标位置。
请注意:
如果您紧接着该方法调用GetMousePosition方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
MoveMouseTo(x,y,)
参数列表
x
标准x极坐标介于0(极左)至65535(极右)。
Y
标准y极坐标介于0(极左)至65535(极右)。
返回值
nil
备注信息
如果您接入了多个显示器请使用MoveMouseToVirtual方法代替。
代码示范
--移动鼠标至左上角
MoveMouseTo(0,0)
--移动鼠标至屏幕中央
MoveMouseTo(32767,32767)
--移动鼠标至右下角
MoveMouseTo(65535,65535)
MoveMouseWheel
MoveMouseWheel()方法可被用于模拟鼠标滚轮滚动。
MoveMouseWheel(click)
Parameters
click
鼠标滚轮滚动次数。
返回值
nil
备注信息
如果您输入的为正数,那么将模拟向上滚动(远离用户),如果您输入的为负数,那么将模拟向下滚动(面向用户)。
代码示范
--模拟鼠标滚轮向上滚动3次
MoveMouseWheel(3)
--模拟鼠标滚轮向下滚动1次
MoveMouseWheel(-1)
MoveMouseRelative
MoveMouseRelative()方法可被用于模拟鼠标相对当前坐标的偏移量。
请注意:
如果您紧接着该方法调用GetMousePosition方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
MoveMouseRelative(x,y,)
参数列表
x
沿x轴方向移动
Y
沿y轴方向移动
返回值
nil
备注信息
如果您输入的x轴偏移量为正数,那么将模拟向右移动,如果您输入的x轴偏移量为负数,那么将模拟向左移动。
如果您输入的y轴偏移量为正数,那么将模拟向下移动,如果您输入的y轴偏移量为负数,那么将模拟向上移动。
代码示范
--模拟鼠标相对当前坐标移动偏移量为1像素并重复50次
fori=0,50do
MoveMouseRelative(0,-1)Sleep(8)
end
MoveMouseToVirtual
MoveMouseToVirtual()方法可被用于在多个屏幕中移动鼠标指针至当前屏幕中的目标绝对坐标位置。
请注意:
如果您紧接着该方法调用GetMousePosition方法将返回上次状态码。
您需要等待几毫秒使其结束操作以确定当前操作是否完成。
MoveMouseToVirtual(x,y,)
Parameters
x
标准x极坐标介于0(极左)至65535(极右)。
Y
标准y极坐标介于0(极左)至65535(极右)。
返回值
nil
备注信息
如果您接入了多个显示器请使用MoveMouseToVirtual方法代替。
代码示范
--移动鼠标至虚拟桌面中的左上角
MoveMouseToVirtual(0,0)
--移动鼠标至虚拟桌面中的中央
MoveMouseToVirtual(32767,32767)
--移动鼠标至虚拟桌面中的右下角
MoveMouseToVirtual(65535,65535)
GetMousePosition
GetMousePosition()方法可被用于获取鼠标指针当前相对标准坐标。
x,yGetMousePosition()
参数列表
无
返回值
x
标准x极坐标介于0(极左)至65535(极右)。
Y
标准y极坐标介于0(极左)至65535(极右)。
备注信息
代码示例
--获取当前鼠标指针坐标
x,y=GetMousePosition();
OutputLogMessage("Mouseisat%d,%d\n",x,y);
OutputLCDMessage
OutputLCDMessage()方法可被用于向LCD添加单行文本。
OutputLCDMessage(text[,timeout])
参数列表
text
待显示字符串
timeout
超时时间为毫秒,等待超时后该消息将被删除。
返回值
nil
备注信息
您可以一次向设备添加并显示至多四条文本信息,默认超时时间为1秒。
代码示范
--使用默认超时显示文本
OutputLCDMessage("Helloworld")
--显示文本并设置2秒超时时间
OutputLCDMessage("Helloworld",2000)
ClearLCD
ClearLCD()方法可用于清除由脚本输出在LED中的字符串。
ClearLCD()
参数列表
无
返回值
nil
备注信息
代码示范
--清理LED已显示内容并输出两条文本信息
ClearLCD()OutputLCDMessage("Helloworld1")OutputLCDMessage("Helloworld2")
PlayMacro
PlayMacro()方法可被用于播放已存在宏脚本。
PlayMacro(macroname)
参数列表
macroname
您需要指定在当前配置文件中已存在的宏脚本名称。
返回值
nil
备注信息
如果该方法在其他宏脚本播放时被调用则不会采取任何操作。
换而言之,在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 罗技 系列 鼠标 函数 命令 官方 文档 中文版
![提示](https://static.bdocx.com/images/bang_tan.gif)