罗技G系列外设宏命令编程参考文档.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《罗技G系列外设宏命令编程参考文档.docx》由用户(四川天地人教育)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 罗技 系列 外设 命令 编程 参考 文档
- 资源描述:
-
1、1 G-series Lua API 参考文档 V8.50 预览与概述 2 手册手册目录目录 手册目录. 2 内容预览. 3 参考文档. 4 标准 Lua 5.1 库. 40 附录 A. 41 3 内容预览内容预览 G-series Lua API 参考手册是一套使用 Lua 脚本编程语言描述并且为 G-series 系列游戏键盘提 供高级脚本功能。 该文档是在假设您已初步掌握 Lua 脚本编程语言使用方法的前提下进行的。如果您想了解 更多信息请访问 www.lua.org。 每项 G 系列 的配置文件都有一个默认的 Lua 脚本与其绑定,并且您可以根据您的喜好随意编辑 或者自定义。该脚本借助
2、并使用一个名为 OnEvent 的事件句柄。用户可以通过检查此句柄中触 发的各种事件以执行用户所希望的动作。 4 参考文档参考文档 方法列表方法列表 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 ReleaseMou
3、seButton . 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
4、 SetMouseDPITable. 34 SetMouseDPITableIndex. 35 EnablePrimaryMouseButtonEvents. 36 G13 Programming. 37 5 OnEvent OnEvent() 方法为脚本提供了一系列事件句柄以方便用户对触发的事件进行操作,您可以使用 以下代码实现此方法。 function OnEvent(event, arg , family) end 参数列表参数列表 event 该字符串包含了用户所触发的事件名称。 arg 与事件标识符相对应的参数值。 family 触发硬件事件的设备族,如果您确定您的脚本不针对于特定硬
5、件则将其留空即 可。仅当您确定需要区分多个输入时使用此参数。 设备族特定设备特定设备 “kb”键盘设备 (G15, G11, G19, etc) “lhc”左手用控制器 (G13, etc) “mouse”受支持的鼠标 (G300, G400, etc) 返回值返回值 无返回值 备注信息备注信息 下方列表是事件标识符以及其对应参数值: 事件名事件名参数值参数值描述信息描述信息 PROFILE_ACTIVATED无配置文件被激活时,此事件 为脚本的第一个事件。 PROFILE_DEACTIVATED无配置文件被反激活时,此事件 为脚本的最后一个事件。 G_PRESSED1=G1 18=G18 n
6、 = Gn G Key 按下时 G_RELEASED1=G1 18=G18 n = Gn G Key 释放时 M_PRESSED1=M1 2=M2 3=M3 M Key 按下时 M_RELEASED1=M1M Key 释放时 6 2=M2 3=M3 “MOUSE_BUTTON_PRESSED”2=鼠标按键 2 3=鼠标按键 3 4=鼠标按键 4 鼠标按键被按下时 注意:鼠标左键 (1) 默认将不会 对此事件进行回应。您可以使用 EnablePrimaryMouseButtonEvents 方法将其覆盖。 “MOUSE_BUTTON_RELEASED”2=鼠标按键 2 3=鼠标按键 3 4=鼠标
7、按键 4 . 注意:鼠标左键 (1) 默认将不会 对此事件进行回应。您可以使用 EnablePrimaryMouseButtonEvents 方法将其覆盖。 代码示范代码示范 - 此事件作为主事件句柄 - 您必须首先实现该方法 function OnEvent(event, arg) if (event = PROFILE_ACTIVATED) then - 配置文件已被激活 end if (event = PROFILE_DEACTIVATED) then - 配置文件已被反激活 end if (event = G_PRESSED and arg = 1) then - G1 已被按下 en
8、d if (event = G_RELEASED and arg = 1) then - G1 已被释放 end if (event = M_PRESSED and arg = 1) then - M1 已被按下 end if (event = M_RELEASED and arg = 1) then - M1 已被释放 end if (event = MOUSE_BUTTON_PRESSED and arg = 6) then - 鼠标按键 6 已被按下 End if (event = MOUSE_BUTTON_RELEASED and arg = 6) then - 鼠标按键 6 已被释放
9、 end end 7 GetMKeyState GetMKeyState() 返回当前 M Key 状态值。 mkey GetMKeyState(family); 参数列表参数列表 family 当您希望区分多个输入设备时请使用该可选设备族属性,默认为 “kb”。 设备族设备族特定设备特定设备 “kb”键盘设备 (G15, G11, G19, etc) “lhc”左手用控制器 (G13, etc) 返回值返回值 mkey 1 = M1, 2 = M2, 3 = M3 备注信息备注信息 代码示范代码示范 - 获取当前 M Key 状态 current_mkey = GetMKeyState()
10、8 SetMKeyState SetMKeyState() 可以设置当前 M keys 激活状态。请注意:如果您紧接着该方法调用 GetMKeyState 方法将返回上次状态码。使用 OnEvent 句柄以确定当前操作是否完成。 mkey SetMKeyState(mkey, family); 参数列表参数列表 mkey 1 = M1, 2 = M2, 3 = M3 family 当您希望区分多个输入设备时请使用该可选设备族属性,默认为 “kb”。 设备族设备族特定设备特定设备 “kb”键盘设备 (G15, G11, G19, etc) “lhc”左手用控制器 (G13, etc) 返回值返回
11、值 无返回值 备注信息备注信息 代码示范代码示范 - 当 G1 被按下时设置当前 M Key 状态为 M1 function OnEvent(event, arg) if (event = G_PRESSED and arg = 1) then SetMkeyState(1); end end 9 Sleep Sleep() 方法将导致脚本暂停并等待所设置的时间后再继续执行。 Sleep( timeout ); 参数列表参数列表 timeout 以毫秒为单位的睡眠时间。 返回值返回值 nil 备注信息备注信息 脚本运行于主程序性能分析器不同的线程,所以脚本暂停时不会对其产生影响。 您可以使用此
12、功能模拟操作延时。 性能分析器将等待一秒以使脚本执行完毕,超过该时间脚本将被强制中断。请务必注 意不要进行长时间的延时。 代码示范代码示范 - 睡眠 20 毫秒 Sleep(20) 10 OutputLogMessage OutputLogMessage() 将输出日志消息至脚本编辑器的控制台操作窗中。 OutputLogMessage( . ); 参数列表参数列表 message 输出样式、包含格式化字符串的消息文本。 返回值返回值 nil 备注信息备注信息 string.format() 方法镜像。 您需要手动在末尾插入回车符 n 以结束该段文本。 代码示范代码示范 - 输出文本 Hell
13、o World OutputLogMessage(Hello World %dn, 2007) 11 GetRunningTime GetRunningTime() 方法将返回以毫秒为单位的执行脚本总时间。 elapsed GetRunningTime(); 参数列表参数列表 无 返回值返回值 elapsed 一个包含运行总毫秒时间的整数值。 备注信息备注信息 您可以使用此方法计算您脚本的运行时间。. 代码示范代码示范 - 显示脚本运行时间 OutputLogMessage(This script has been running for: %d ms, GetRunningTime() 12
14、 GetDate GetDate() 方法将获取已格式化的当前时间 date GetDate (format , time) 参数列表参数列表 format 可选的日期字符串格式。 time 可选的时间表。 返回值返回值 date 返回一个包含用户计算机当前日期以及时间(或参考时间)的字符串或时间表, 根据所给的字符串格式就行字符串格式化,如果您希望提供自有格式化字符串,该方法将 使用与 strftime() 相同的解析规则。特殊字符串 *t 将使 date() 方法返回一个时间表。 备注信息备注信息 os.date() 方法镜像。 Example - 显示当前日期与时间 OutputLogM
15、essage(Todays date/time is: %sn, GetDate() 13 ClearLog ClearLog() 方法将清空脚本编辑器控制台中的输出内容。 ClearLog() 参数列表参数列表 无 返回值返回值 nil 备注信息备注信息 无 代码示范代码示范 - 清空脚本编辑器日志 OutputLogMessage(This message will self destruct in 2 secondsn) Sleep(2000) ClearLog() 14 PressKey PressKey() 方法可被用于模拟键盘按键按下动作。请注意:如果您紧接着该方法调用 IsMod
16、ifierPressed 方法或 IsKeyLockOn 方法将返回上次状态码。您需要等待几毫秒使其结 束操作以确定当前操作是否完成。 PressKey( scancode ,scancode ); PressKey( keyname ,keyname ); 参数列表参数列表 scancode 特定数值扫描码对应的按键将被按下。 keyname 特定预定义键值对应的按键将被按下。 返回值返回值 nil 备注信息备注信息 如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间按下。关于扫描 码或键值对应列表您可以参考附录 A。 代码示范代码示范 - 使用扫描码模拟键值 a 被按下 Press
17、Key(30) - 使用键值模拟键值 a 被按下 PressKey(a) - 模拟 a 与 b 同时按下 PressKey(a, b) 15 ReleaseKey ReleaseKey() 方法可被用于模拟键盘按键释放动作。 ReleaseKey( scancode ,scancode ); ReleaseKey( keyname ,keyname ); 参数列表参数列表 scancode 特定数值扫描码对应的按键将被释放。 keyname 特定数值键值对应的按键将被释放。 返回值返回值 nil 备注信息备注信息 如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间释放。关于扫描 码或键
18、值对应列表您可以参考附录 A。 备注信息备注信息 - 使用扫描码模拟键值 a 被释放 ReleaseKey(30) - 使用键值模拟键值 a 被释放 ReleaseKey(a) - 模拟 a 与 b 同时释放 ReleaseKey(a, b) 16 PressAndReleaseKey PressAndReleaseKey() 方法可被用于模拟键盘按键按下动作并跟随按键释放动作。请注意:如 果您紧接着该方法调用 IsModifierPressed 方法或 IsKeyLockOn 方法将返回上次状态码。您 需要等待几毫秒使其结束操作以确定当前操作是否完成。 ReleaseKey( scancod
19、e ,scancode); ReleaseKey( keyname ,keyname ); Parameters scancode 特定数值扫描码对应的按键将被按下并随后被释放。 keyname 特定数值键值对应的按键将被按下并随后被释放。 返回值返回值 nil 备注信息备注信息 如果提供了多个按键作为实际参数,所有按键将被模拟为同一时间按下并随后释放。关于扫 描码或键值对应列表您可以参考附录 A。 Example - 使用扫描码模拟键值 a 被按下并随后被释放 PressAndReleaseKey(30) - 使用键值模拟键值 a 被按下并随后被释放 PressAndReleaseKey(a
20、) - 模拟 a 与 b 同时按下并随后释放 PressAndReleaseKey(a, b) 17 IsModifierPressed IsModifierPressed() 方法可用于确定某修饰键是否被按下。 boolean IsModifierPressed ( keyname ); 参数列表参数列表 keyname 特定预定义的修饰键键值是否被按下,该参数必须为下列表值之一: 修饰键修饰键描述信息描述信息 lalt, ralt, alt左侧、右侧或两侧 Alt 键 lshift, rshift, shift左侧、右侧或两侧 Shift 键 lctrl, rctrl, ctrl左侧、右侧
21、或两侧 Ctrl 键 返回值返回值 当修饰键被按下时将返回 true 反之则返回 false。 备注信息备注信息 无 代码示范代码示范 - 模拟按下特定修饰键 PressKey(lshift) if IsModifierPressed(shift) then OutputLogMessage(shift is pressed.n); end - 释放该修饰键 ReleaseKey(lshift) if not IsModifierPressed(shift) then OutputLogMessage(shift is not pressed.n); end 18 PressMouseButt
22、on PressMouseButton() 方法可被用于模拟鼠标按键被按下。请注意:如果您紧接着该方法调用 IsMouseButtonPressed 方法将返回上次状态码。您需要等待几毫秒使其结束操作以确定当 前操作是否完成。 PressMouseButton( button ) 参数列表参数列表 button 按键标识符,您可以使用下表中列出的值: 按键值按键值对应操作对应操作 1鼠标左键 2鼠标中键 3鼠标右键 4鼠标按键 X1 5鼠标按键 X2 返回值返回值 nil 备注信息备注信息 无 代码示范代码示范 - 模拟鼠标左键被按下 PressMouseButton(1) - 模拟鼠标右键被
23、按下 PressMouseButton(3) 19 ReleaseMouseButton ReleaseMouseButton() 方法可被用于模拟鼠标按键被释放。 ReleaseMouseButton( button ) 参数列表参数列表 button 按键标识符,您可以使用下表中列出的值: 按键值按键值对应操作对应操作 1鼠标左键 2鼠标中键 3鼠标右键 4鼠标按键 X1 5鼠标按键 X2 返回值返回值 nil 备注信息备注信息 无 代码示范代码示范 - 模拟鼠标左键单击(按下并释放) PressMouseButton(1) ReleaseMouseButton(1) 20 PressAn
24、dReleaseMouseButton PressAndReleaseMouseButton()方法可被用于模拟鼠标按键按下动作并跟随按键释放动作。请 注意:如果您紧接着该方法调用 IsMouseButtonPressed 方法将返回上次状态码。您需要等待几 毫秒使其结束操作以确定当前操作是否完成。 PressAndReleaseMouseButton( button ) 参数列表参数列表 button 按键标识符,您可以使用下表中列出的值: 按键值按键值对应操作对应操作 1鼠标左键 2鼠标中键 3鼠标右键 4鼠标按键 X1 5鼠标按键 X2 返回值返回值 nil 备注信息备注信息 无 代码示
25、范代码示范 - 模拟鼠标左键单击(按下并释放) PressAndReleaseMouseButton(1) 21 IsMouseButtonPressed IsMouseButtonPressed() 方法可用于确定某鼠标按键是否被按下。 boolean IsMouseButtonPressed( button ) 参数列表参数列表 button 按键标识符,您可以使用下表中列出的值: 按键值按键值对应操作对应操作 1鼠标左键 2鼠标中键 3鼠标右键 4鼠标按键 X1 5鼠标按键 X2 返回值返回值 当修饰键被按下时将返回 true 反之则返回 false。 备注信息备注信息 无 代码示范代码
展开阅读全文