脚本使用手册

适用版本:v3.3.5 以上
← 返回主页  |  中控API手册

一、脚本语言选择

软件支持四种脚本语言:中控API脚本、中控脚本、EasyClick(简称EC)和AutoJs(简称JS)。只要手机能用的脚本语言都可以选用,支持和不支持的脚本区别仅在于:支持的脚本语言可以直接在软件里修改脚本代码,不支持的需要在别的地方修改脚本,执行后没有区别。

EasyClick脚本

手册:EasyClick官方手册

需要配套APP,具体功能以该脚本官方为准。无障碍和代理模式都可以,适合复杂的操作。

用法

  1. 下载配套APP【下载地址
  2. 设备上安装APP后,开放APP需要的权限
  3. 脚本管理器内第一行代码写上脚本语言类型://easyclick 配成app的包名/配成app的Activity名
  4. 从第二行开始写EasyClick脚本命令,完成后保存、执行即可
  5. 如果不开无障碍,使用代理模式,在【工具条-扩展按钮-脚本辅助工具】里首次使用安装代理,后期使用激活代理

示例:脚本管理里的脚本仓库有简单示例。网上有很多示例、教程和相关学习群。

Autojs脚本

手册:AutoX.js官方手册Auto.js Pro官方手册

需要配套APP,具体功能以该脚本官方为准。完整功能需要开启无障碍,适合复杂的操作。

用法

  1. 下载配套APP【下载地址
  2. 设备上安装APP后,开放APP需要的权限
  3. 脚本管理器内首行代码为脚本语言标志位:
    AutoX.js://autojsx 配成app的包名/配成app的Activity名
    Auto.js Pro://autojs 配成app的包名/配成app的Activity名
  4. 从第二行开始写JS脚本命令,完成后保存、执行即可
  5. 如果不开无障碍,使用代理模式,在【工具条-扩展按钮-脚本辅助工具】里首次使用安装代理,后期使用激活代理

示例:脚本管理里的脚本仓库有简单示例。网上有很多示例、教程和相关学习群。

中控API脚本

手册:中控API手册

使用熟悉的编程语言通过WebSocket操作,不需要安装APP。适合实时性和并发性要求不高的场合,可以写出复杂脚本。

示例

中控脚本

手册:本手册

直接使用,不需要安装APP。适合短时简单互动,不适合复杂和要求高的场合。

示例:脚本管理里的脚本仓库有简单示例。


二、脚本管理器

脚本管理器为所有支持的脚本语言通用。

打开脚本管理

从菜单栏打开

点击软件右上角的【菜单栏】打开【脚本管理】。

img

从工具条打开

点击【工具条】的【扩展按钮】打开【脚本管理】。

img img

管理器界面

面板界面功能参考功能使用的【通用图标按钮说明】

创建脚本

1. 点击新建按钮

img

2. 输入脚本名称、脚本说明(可以省略不写)

img

3. 在内容编辑区输入脚本

img

在内容编辑区按空格键,会出现语句智能提示,可以用鼠标进行选择,滚动鼠标或拖动滚动条可以翻页查看。

img

当出现语句提示后,可以输关键字,会根据输入的关键字筛选相关语句。

img

一个脚本语句以回车键换行结束,即一行一个脚本语句。如果语句很长,编辑器会自动显示成多行,这种属于同一行。

4. 点击保存按钮完成保存

img

执行脚本

3种执行方式:

  1. 在脚本管理器里点击执行按钮执行
img

2. 在【工具条】【脚本管理面板】里点击和脚本相同名称的按钮执行

img

3. 在【工具条】或【菜单栏】的【扩展按钮】里点击和脚本相同名称的按钮执行

img

停止脚本

2种停止方式:

  1. 在脚本管理器里点击停止按钮停止脚本
img

2. 在【工具条】【脚本管理面板】里点击【停止脚本】按钮停止

img

修改脚本及名称

3步完成修改:

  1. 选择脚本管理器左侧列表里的脚本,列表过多可以用鼠标滚轮或拖动滚动条查看列表内容
  2. 编辑右侧对应的脚本内容和脚本名称
  3. 修改完成后按保存按钮进行保存
img

删除脚本

2步完成删除:

  1. 选择脚本管理器左侧列表里的脚本
  2. 点击删除按钮进行删除
img

录制脚本

4步完成录制:

  1. 选择要操作的设备,切换到大图模式
  2. 点击脚本管理器的录制脚本按钮,并切换到主窗口(不要关闭脚本管理器
img

3. 在大图模式显示的设备上正常操作,操作的过程会录制下来

4. 操作完成后,切换回脚本管理器窗口,点击停止录制脚本按钮后,内容编辑区会自动出现录制的脚本,然后输入脚本名称,进行保存即可。

img

录制的脚本可能需要修改调试后才能使用,比如根据实际情况调整时间,加入循环、判断等,是高效编写脚本的辅助工具。复杂操作可以分段录制,最后进行组合调试。


三、中控脚本语句

语句格式约定

查找和判断一般用于确定当前页面是否是指定操作页面。比如点击了下一页,但因网速或设备卡顿等原因实际没有切换到下一页,这时就需要利用查找、判断某个特征或整页对比来确定是否正确进入了下一页。查找和判断时尽量选择有明显特征,更小的查找区域,可以提高准确度和效率。

参数2、参数3的左上角坐标和参数4、参数5的右下角坐标两个坐标组成一个方形区域,如下图:

img

预置设备

命令: 预置设备 [参数1],,[参数2],,...,,[参数n]

无参数时弹出的分组选择对话框:

img
//示例:选择所有设备并点击
预置设备 全部
点击 500,,500,,0

//示例:弹出分组框后选择一个分组,点击分组内的所有设备
预置设备
点击 500,,500,,0

//示例:指定设备2并点击
预置设备 2
点击 500,,500,,0

//示例:指定设备1、2、3并点击
预置设备 1,,2,,3
点击 500,,500,,0

//示例:指定分组1和分组2内的所有设备,并点击
预置设备 选组:组名1,,组名2
点击 500,,500,,0

顺序执行设备

命令: 顺序执行设备 参数1,,[参数2]

//示例:按设备依次执行脚本,一个设备完成后,间隔2秒再进行下一个设备
预置设备 全部
顺序执行设备 2

//示例:按设备依次执行脚本,间隔1到5秒之间任意时间再进行下一个设备
预置设备 全部
顺序执行设备 1,,5

停止脚本

命令: 停止脚本

//示例:停止脚本执行
停止脚本

返回

命令: 返回

//示例:返回上一层
返回

回主页

命令: 回主页

//示例:回到桌面主页
回主页

切换应用

命令: 切换应用

//示例:切换应用
切换应用

api高效命令

命令: api 参数1


//示例:发送点击命令
api click 500,500

//示例:循环向上滚动10次,每次间隔2000毫秒
api for 10 {swipeUp 500}

//示例:循环点击10次,每次间隔3000毫秒
api {for 10 {click 50,250}{sleep 3000}}

//示例:adb启动指定app
api adb shell am start -n com.android.settings/com.android.settings.homepage.SettingsHomepageActivity

点击

命令: 点击 参数1,,参数2,,参数3

//示例:点击坐标x=500,y=500的位置,不进行偏移
点击 500,,500,,0

//示例:点击坐标x=200,y=350的位置,随机偏移10像素
点击 200,,350,,10

长按

命令: 长按 参数1,,参数2,,参数3,,参数4

//示例:长按坐标x=500,y=500的位置600毫秒,不进行偏移
长按 500,,500,,0,,600

//示例:长按坐标x=200,y=350的位置600毫秒,随机偏移10像素
长按 200,,350,,10,,600

等待

命令: 等待 参数1,,[参数2],,[参数3]

//示例:等待1000毫秒=1秒
等待 1000

//示例:等待0.5秒
等待 500

//示例:等待3秒到10秒之间的随机任意时间
等待 3000,,10000

//示例:等待2秒,并且在显示等待时间的同时加上前一次的消息内容
等待 2000,,2000,,add

//示例:等待3秒到10秒之间的随机任意时间,并加上前一次的消息内容
等待 3000,,10000,,add

滑动

命令: 滑动 参数1,,参数2,,参数3,,参数4,,参数5,,参数6

//示例:向下滑动,不偏移,滑动时长50毫秒
滑动 700,,300,,400,,1300,,0,,50

//示例:向右滑动,不偏移,滑动时长50毫秒
滑动 300,,700,,1300,,700,,0,,50

拖动

命令: 拖动 参数1,,参数2,,参数3,,参数4,,参数5,,参数6

//示例:把坐标x=100,y=200的APP图标拖动到新位置x=300,y=350上,不偏移,拖动时长500毫秒
拖动 100,,200,,300,,350,,0,,500

滚动

命令: 滚动 参数1,,参数2,,参数3,,参数4

//示例:向上滚动2次
滚动 800,,1000,,上滚,,2

//示例:向下滚动10次
滚动 800,,1000,,下滚,,10

//示例:向右滚动1次
滚动 800,,1000,,上滚,,1

//示例:向左滚动2次
滚动 800,,1000,,下滚,,2

APP操作

启动APP

命令: 启动APP 参数1

img
//示例:启动设置
启动APP com.android.settings/com.android.settings.homepage.SettingsHomepageActivity

关闭APP

命令: 关闭APP 参数1

//示例:关闭设置
关闭APP com.android.settings

安装APP

命令: 安装APP 参数1,,参数2

//示例:安装app,如果已存在就重新安装
安装APP d:\temp\test0016.apk,,重装

卸载APP

命令: 卸载APP 参数1

//示例:卸载测试的app
卸载APP com.lasttest.test16

输入

输入文本

命令: 输入文本 参数1,,[参数2],,...,,[参数n]

//示例:输入"苹果"
输入文本 苹果

//示例:随机输入3种水果的任意一种
输入文本 香蕉,,苹果,,葡萄

输入顺序文本

命令: 输入顺序文本

示例:文件名是"水果1.txt"的文件里有7句内容

img
//示例:4步在1号设备上输入文件名"水果1.txt"里的前2条内容
//1.打开文件
//2.输入第1条内容"香蕉"
//3.等待2秒
//4.再次输入第2条内容"苹果"
打开文本文件 水果[[设备序号]].txt
输入顺序文本
等待 2000
输入顺序文本

输入随机文本

命令: 输入随机文本

//示例:4步在1号设备上输入文件名"水果1.txt"里的任意2条内容
打开文本文件 水果[[设备序号]].txt
输入随机文本
等待 2000
输入随机文本

预置文本

命令: 预置文本

预置文本输入框:

img
//示例:执行脚本时,通过预置文本在文本框里输入"苹果",则会在设备上输入"苹果熟了"、"1箱苹果"
//如果文本框输入"草莓",则会在设备上输入"草莓熟了"、"1箱草莓"
预置文本
输入文本 [[预置文本]熟了
等待 2000
输入文本 1箱[[预置文本]

输入数字文本

命令: 输入数字文本 [参数1]

//示例:在每个设备编号基础上加1
输入数字文本 设备编号+1

//示例:在每个设备编号基础上减2
输入数字文本 设备编号-2

文件操作

打开文本文件

命令: 打开文本文件 参数1

示例:2个文件名是"水果1.txt"、"水果2.txt"的文本文件存在D盘的temp\test6文件夹里

img
//示例:1号设备读取"水果1.txt",2号设备读取"水果2.txt"
//选择设备1和2执行即可;如果同时选择了设备3,而没有对应的"水果3.txt",脚本会在设备3上执行出错
打开文本文件 D:\temp\test6\水果[[设备序号]].txt

//示例:只在设备3上读取"英文单词.txt"
打开文本文件 D:\temp\test6\英文单词.txt

写入文件

命令: 写入文件 参数1,,参数2

//示例:在设备1、设备2上把"脚本的执行消息"写入"日志1.log"、"日志2.log"
写入文件 D:\temp\test6\日志[[设备序号]].log,,[[设备消息]]

//示例:只在设备3上把"马到成功"写入"成语.txt"
写入文件 D:\temp\test6\成语.txt,,马到成功

删除文件

命令: 删除文件 参数1

//示例:在设备1、设备2上删除对应的"日志1.log"、"日志2.log"
删除文件 D:\temp\test6\日志[[设备序号]].log

//示例:只在设备3上删除"成语.txt"
删除文件 D:\temp\test6\成语.txt

上传文件

命令: 上传文件 参数1,,参数2

//示例:把文件"a2.txt"上传到设备的"Download"目录里
上传文件 D:\temp\test\a2.txt,/sdcard/Download/a2.txt

下载文件

命令: 下载文件 参数1,,参数2

//示例:把设备上"Download"目录里的"a2.txt"文件下载到电脑,并修改了文件名称
下载文件 /sdcard/Download/a2.txt,,d:\temp\test\a2_[[设备序号]].txt

循环

命令: 循环 参数1,,{参数2} 次{ 参数3 }

循环语句的两个花括号后都要回车换行,如下图:

img
//示例:每隔2秒点击1次,一共点击10次
循环10次{
    点击 500,,500,,0
    等待 2000
}

//示例:每隔2秒点击1次位置a,并且点击10次位置b,一共循环5到10之间的任意次数
循环5,,10次{
    点击 500,,500,,0
    等待 2000
    循环10次{
        滑动 700,,700,,0
        等待 1000
    }
}

语库操作

打开语库

命令: 打开语库 [[语库:参数1]]

//示例:打开叫"水果名称"的语库,然后把水果名称里的内容输入到设备上
打开语库 [[语库:水果名称]]
输入顺序文本

打开配对语库

命令: 打开配对语库 [[语库:参数1]]

//示例:打开叫"水果名称"的语库,然后把水果名称输入到对应的设备上
//语库里的具体内容格式为:<设备编号#>内容,编号可以是任意顺序,也可以重复,如:
//<1#>苹果
//<2#>香蕉
//<3#>草莓

打开配对语库 [[语库:水果名称]]
输入顺序文本

网络请求

命令: GET 参数1,,参数2

//示例:通过网址给设备发送一个指定请求,10秒后超时
GET 10000,,http://[[设备IP]]:[[设备端口]]/info

标记语句

标记语句也可以用在EasyClick或AutoJS脚本里。如想让EC或JS判断正在操作哪个设备时可以用[[设备编号]]。

[[预置文本]]

//示例:输入预置文本内容
预置文本
输入文本 [[预置文本]熟了

[[复制文本]]

//示例:执行脚本前在电脑上复制了内容,则会在设备上输入复制的内容
输入文本 [[复制文本]

[[顺序文本]]

//示例:打开名称为"水果"的语库,里有"苹果"和"草莓"两条内容
//则会在设备上输入"苹果熟了"、"1箱草莓"
打开语库 [[语库:水果]]
输入文本 [[顺序文本]熟了
等待 2000
输入文本 1箱[[顺序文本]

[[随机文本]]

//示例:打开名称为"水果"的语库,里有"苹果"和"草莓"两条内容
//则会在设备上输入"苹果熟了"或者"草莓熟了"
打开语库 [[语库:水果]]
输入文本 [[随机文本]熟了

[[指定文本 参数1]]

//示例:打开名称为"水果"的语库,里有"苹果"和"草莓"两条内容
//则会在设备上输入"草莓熟了"
打开语库 [[语库:水果]]
输入文本 [[指定文本 1]熟了

[[设备编号]]

//示例:1号和2号设备执行脚本后,分别读取"水果1.txt"和"水果2.txt"
//如果在设备3上执行,而没有对应的"水果3.txt",脚本会出错
打开文本文件 D:\temp\test6\水果[[设备编号]].txt

[[设备标题]]

//示例:1号和2号设备的标题分别是"苹果"和"香蕉"
//执行脚本后,读取的是"苹果.txt"和"香蕉.txt"
打开文本文件 D:\temp\test6\水果[[设备标题]].txt

[[设备DeviceId]]

//示例:把当前脚本执行日志写入以设备序列号命名的日志文件里
写入文件 D:\temp\test6\日志_[[设备DeviceId]].log,,[[设备消息]]

[[设备IP]]

[[设备端口]]

//示例:GET带端口的IP地址命令
GET 10000,,http://[[设备IP]]:[[设备端口]]/info

[[GUID]]

//示例:把日志写入以GUID命名的唯一文件里
写入文件 D:\temp\test6\日志_[[GUID]].log,,[[设备消息]]

[[快捷语]]

[[语库:语库名称]]

[[设备消息]]

//示例:把当前脚本执行日志写入文件
写入文件 D:\temp\test6\日志[[设备序号]].log,,[[设备消息]]

[[日期]]

[[时间]]

[[日期时间]]

消息

消息

命令: 消息 参数1

消息显示位置如下图:

img
//示例:显示消息"启动设置",并显示5秒后被其它消息替代
消息 启动设置
等待 5000,,5000,,add

全局消息

命令: 全局消息 参数1,,参数2

img img
//示例:多个设备执行时,提示"启动完成",比如"1号设备启动完成"、"2号设备启动完成"
全局消息 i,,[[设备序号]]号设备启动完成

消息框设置

命令: 消息框长宽和位置 参数1,,参数2,,参数3,,参数4

//示例:加大消息框并显示在设备窗口顶部
//假设设备窗口宽度是200,把消息框设置成宽180,高200,左边距10,顶边距50像素
消息框长宽和位置 180,,200,,10,,50

消息最大显示字数

命令: 消息最大显示字数 参数1

//示例:把显示的消息控制在25字之内
消息最大显示字数 25

消息显示时长

命令: 消息显示时长 参数1

//示例:提示消息在5秒后消失
点击 500,,500,,0
等待 3000,,3000,,[add]
消息显示时长 5000

数据采集

命令: 写入表格 参数1,,参数2,,[参数3],,[参数4],,...,,[参数n]

img
//示例:把采集的所有数据保存到数据文件"data"里
//页面的所有元素文本内容对应第1列"内容1"
//页面所有元素资源id对应第2列"资源2"
//页面所有元素坐标对应第3列"坐标3"
//总共采集10个页面,每采集完1个页面后点击下一页并等待2秒
循环10次{
    写入表格 d:\temp\testexel\data,,内容1==//node/@text,,资源2==//node/@resource-id,,坐标3==//node/@bounds
    点击 800,,1700,,0
    等待 2000
}

查找

查找图片

命令: 查找图片 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 包含{ 参数8 } 不含{ 参数9 }}

//示例:在当前整个页面里查找和图片abc相同的地方,85%相似就算找到
//找到后点击这个位置
查找图片 d:\abc\abc.jpg,,0,,0,,0,,0,,85,,点击{
    包含{
        消息 找到了相同的图片
    }
    不含{
        消息 没找到图片
    }
}

//示例:在页面中间区域查找,90%相似,不点击
查找图片 d:\abc\abc.jpg,,300,,500,,900,,1200,,90,,不点击{
    包含{
        消息 找到了相同的图片
    }
    不含{
        消息 没找到图片
    }
}

快速查找图片

命令: 快速查找图片 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 包含{ 参数8 } 不含{ 参数9 }}

查找颜色

命令: 查找颜色 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 包含{ 参数8 } 不含{ 参数9 }}

//示例:在当前整个页面里查找纯白色,85%相似就算找到,找到后点击该位置
查找颜色 #ffffff,,0,,0,,0,,0,,85,,点击{
    包含{
        消息 找到了白色按钮
    }
    不含{
        消息 没找到白色按钮
    }
}

//示例:在右下角查找纯红色,90%相似,不点击
查找颜色 #FF0000,,800,,1700,,1080,,1920,,90,,不点击{
    包含{
        消息 找到了红色按钮
    }
    不含{
        消息 没找到红色按钮
    }
}

快速查找颜色

命令: 快速查找颜色 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 包含{ 参数8 } 不含{ 参数9 }}

判断

判断文本OCR

命令: 判断文本OCR 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 相同/包含{ 参数8 } 不同/不含{ 参数9 }}

//示例:判断整个页面是否有单独"水果"这个词,找到后点击第1个位置
判断文本OCR 水果,,0,,0,,0,,0,,1,,点击{
    相同{
        消息 找到了水果
    }
    不同{
        消息 没有水果
    }
}

//示例:指定区域查找,循环点击第2到第9个位置
判断文本OCR 水果,,200,,300,,1000,,1100,,2-9,,循环点击{
    包含{
        等待 2000
        点击 500,,500,,0
        等待 1000
        返回
    }
    不含{
        消息 没找到内容
    }
}

快速判断文本OCR

用法同【判断文本OCR】。需要系统设置的硬件加速里把加速模式改成2。

判断文本(相同)

命令: 判断文本 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 相同{ 参数8 } 不同{ 参数9 }}

//示例:判断整个页面是否有单独"水果"这个词,找到后点击第1个位置
判断文本 水果,,0,,0,,0,,0,,1,,点击{
    相同{
        消息 找到了水果
    }
    不同{
        消息 没有水果
    }
}

判断文本(包含)

命令: 判断文本 参数1,,参数2,,参数3,,参数4,,参数5,,参数6,,参数7,,{ 包含{ 参数8 } 不含{ 参数9 }}

//示例:使用类型5判断整个页面是否包含"水果"2个字,有1个地方包含就判定包含
判断文本 水果,,0,,0,,0,,0,,1,,5{
    包含{
        消息 发现了水果
    }
    不含{
        消息 没有水果
    }
}

判断元素

命令: 判断元素 参数1,,参数2,,参数3{ 存在{ 参数4 } 不存在{ 参数5 }}

//示例:判断当前页面是否存在"设置"这个元素,存在就点击
判断元素 /hierarchy[1]/node[1]/node[3][@text='设置'],,1,,点击{
    存在{

    }
    不存在{

    }
}

//示例:循环点击第2到第9个包含"果"字的元素
判断元素 //node[contains(@text,'果')],,2-9,,循环点击{
    存在{
        等待 2000
        点击 500,,500,,0
        等待 1000
        返回
    }
    不存在{
        消息 没找到元素
    }
}

判断设备号

命令: 判断设备号 参数1,,[参数2],,[参数n]{ 包含{ 参数4 } 不含{ 参数5 }}

//示例:判断当前执行窗口是不是2号或3号窗口
//是就点击指定位置后返回,不是就立即返回
判断设备号 2,,3{
    包含{
        点击 500,,500,,0
        等待 1000
        返回
    }
    不含{
        返回
    }
}

截屏

命令: 截屏 参数1

//示例:把设备窗口当前图像保存成图片文件1.jpg
截屏 d:\abc\1.jpg

其它操作

执行 重启

//示例:重启设备
执行 重启

执行 打开Wifi

//示例:打开wifi开关
执行 打开Wifi

执行 关闭Wifi

//示例:关闭wifi开关
执行 关闭Wifi

执行 展开通知栏

//示例:展开通知栏
执行 展开通知栏

执行 收起通知栏

//示例:收起通知栏
执行 收起通知栏

adb命令

命令: adb语句

//示例:返回主页
adb shell input keyevent HOME

//示例:清除testAPP缓存
adb shell pm clear com.testcom.test

按键操作

连续按键

命令: 连续按键 参数1

//示例:输入[hello]
连续按键 [hello]

连续删除

命令: 连续删除 参数1

//示例:删除10个字符
连续删除 10

按键操作清单

具体按钮查看以下清单,不同设备系统效果不同,以实际调试为准:

按0键    按1键    按2键
按3键    按4键    按5键
按6键    按7键    按8键
按9键    按*键    按#键
按A键    按B键    按C键
按D键    按E键    按F键
按G键    按H键    按I键
按J键    按K键    按L键
按M键    按N键    按O键
按P键    按Q键    按R键
按S键    按T键    按U键
按V键    按W键    按X键
按Y键    按Z键    按,键
按.键
按左软键    按右软键    按拨号键
按挂机键    按上导航键    按下导航键
按左导航键    按右导航键    按确定键
按音量增加键    按音量减小键    按电源键亮屏熄屏
按拍照键    按Clear键
按左Alt键    按右Alt键    按左Shift键
按右Shift键    按Tab键    按空格键
按回车键    按退格键    按`键
按-键    按=键    按[键
按]键    按\键    按;键
按'键    按/键    按@键
按Num控制键    按拍照对焦键    按+键
按菜单键    按通知键    按搜索键
按多媒体键播放暂停    按多媒体键停止    按多媒体键下一首
按多媒体键上一首    按多媒体键快退    按多媒体键快进
按话筒静音键    按向上翻页键    按向下翻页键
按游戏手柄按钮A键    按游戏手柄按钮B键    按游戏手柄按钮C键
按游戏手柄按钮X键    按游戏手柄按钮Y键    按游戏手柄按钮Z键
按游戏手柄按钮L1键    按游戏手柄按钮R1键    按游戏手柄按钮L2键
按游戏手柄按钮R2键    按LeftThumbButton键    按RightThumbButton键
按游戏手柄按钮Start键    按游戏手柄按钮Select键    按游戏手柄按钮Mode键
按ESC键    按删除键    按左Ctrl键
按右Ctrl键    按大写锁定键    按滚动锁定键
按BreakPause键    按光标移动到开始键    按光标移动到末尾键
按插入键    按Forward键    按多媒体键播放键
按多媒体键暂停键    按多媒体键关闭键    按多媒体键弹出键
按多媒体键录音键
按F1键    按F2键    按F3键
按F4键    按F5键    按F6键
按F7键    按F8键    按F9键
按F10键    按F11键    按F12键
按小键盘锁键    按小键盘0键    按小键盘1键
按小键盘2键    按小键盘3键    按小键盘4键
按小键盘5键    按小键盘6键    按小键盘7键
按小键盘8键    按小键盘9键    按小键盘/键
按小键盘*键    按小键盘-键    按小键盘+键
按小键盘.键    按小键盘,键    按小键盘回车键
按小键盘=键    按小键盘(键    按小键盘)键
按扬声器静音键    按放大键    按缩小键
按TV键    按Window键    按Guide键
按DVR键    按Bookmark键    按Togglecaptions键
按Settings键
按游戏手柄按钮1键    按游戏手柄按钮2键    按游戏手柄按钮3键
按游戏手柄按钮4键    按游戏手柄按钮5键    按游戏手柄按钮6键
按游戏手柄按钮7键    按游戏手柄按钮8键    按游戏手柄按钮9键
按游戏手柄按钮10键    按游戏手柄按钮11键    按游戏手柄按钮12键
按游戏手柄按钮13键    按游戏手柄按钮14键    按游戏手柄按钮15键
按游戏手柄按钮16键
按剪切键    按复制键    按粘贴键