【ScrcpyQT】 脚本编写 - 在电脑上高效刷【不背单词】
QT版本下载
和原版不同,这个版本有图形化操作界面 QtScrcpy/README_zh.md at dev · barry-ran/QtScrcpy · GitHub
不背单词的脚本
Json格式,在 QTScrcpy 安装目录中的 keymap 子目录下存放。
|
|
该脚本作用
使用键盘上方的数字键1234分别选择单词辨析的四个选项。
使用方向键左代表认识,下代表模糊,右代表不认识,上代表点击单词。
怎么应用脚本
在 QTScrcpy 安装目录中的 keymap 子目录下存放好json格式的脚本,然后在这里点击刷新,在左侧列表找到对应脚本,点击右侧应用脚本,然后点击下方的启动服务,有时候需要点两下才会启动

怎么启用脚本
进入手机操控界面后,脚本不会立即应用,需要按一下 ~ 这个键,就是Esc键下方的波浪键。
如果想临时禁用这个脚本,就再按一下 ~
————教程结束下面是一些拓展操作————
如何获取坐标
不背单词的常用8个坐标已经在上面给出,并且写入脚本,如果想要新增一些键盘映射,可以参考以下方式。
使用鼠标点击手机画面窗口,然后在QTScrcpy窗口左下角小窗口查看获取,点哪就会显示哪里的坐标

本文给出的 不背单词APP 坐标如下
单词分辨
认识 “pos”: {“x”: 0.240781, “y”: 0.92986}
模糊 “pos”: {“x”: 0.503254, “y”: 0.928858}
不认识 “pos”: {“x”: 0.796095, “y”: 0.935872}
点击单词 “pos”: {“x”: 0.171367, “y”: 0.167335}
选单词1234
1 “pos”: {“x”: 0.926247, “y”: 0.458918} 2 “pos”: {“x”: 0.596529, “y”: 0.553106} 3 “pos”: {“x”: 0.681128, “y”: 0.657315} 4 “pos”: {“x”: 0.611714, “y”: 0.751503}
键盘映射按键码
详细教程
一、脚本中的键盘码解析
脚本里的key/switchKey字段使用的是易读化的通用按键标识(而非直接写十六进制虚拟键码),本质是对底层虚拟键码的 “别名封装”,目的是提升脚本可读性。以下是对应关系和解析:
| 脚本中的键名 | 对应实际按键 | 底层虚拟键码参考(Windows) | 功能说明 |
|---|---|---|---|
Key_QuoteLeft |
反引号 / 顿号键(`) | 0xC0(十六进制) | 脚本全局开关(启停整个映射) |
Key_Left |
左方向键 | 0x25 | 触发 “认识” 按钮的鼠标点击 |
Key_Down |
下方向键 | 0x28 | 触发 “模糊” 按钮的鼠标点击 |
Key_Right |
右方向键 | 0x27 | 触发 “不认识” 按钮的鼠标点击 |
Key_Up |
上方向键 | 0x26 | 触发 “点击单词” 的鼠标点击 |
Key_1/Key_2/Key_3/Key_4 |
主键盘数字 1-4 | 0x31~0x34 | 触发对应单词选项的鼠标点击 |
⚠️ 注意:这类键名是行业通用的 “易读命名规范”,不同工具的命名可能略有差异(比如有的工具写KeyBackquote而非Key_QuoteLeft),但核心指向同一个物理按键。
二、这类键鼠映射脚本的编写方法
该脚本是JSON 格式的 “按键→鼠标点击” 映射脚本(典型场景:背单词自动化、办公快捷点击、游戏操作简化),核心逻辑是 “按下指定键盘按键 → 触发屏幕指定坐标的鼠标点击”。以下是完整编写方法:
1. 核心结构与字段含义(编写基础)
先理解脚本的 JSON 结构,每个字段的作用是编写的关键:
json
|
|
各字段的取值规则(避坑关键):
| 字段 | 取值要求 | 示例 | 核心注意点 |
|---|---|---|---|
switchKey |
工具支持的通用键名 | Key_QuoteLeft |
需匹配工具的 “键名对照表” |
comment |
任意文字 | "认识" |
仅备注,不影响脚本执行 |
type |
工具定义的动作常量(大写) | KMT_CLICK |
常见值:KMT_DBLCLICK(双击)、KMT_PRESS(按键) |
key |
通用键名(区分大小写) | Key_Left/Key_1 |
不能写十六进制码,需用易读名 |
pos |
x/y:0~1 浮点数(相对坐标) | {"x":0.24,"y":0.93} |
绝对坐标需写整数(如x:462) |
switchMap |
true/false(无引号) | false |
布尔值不能加引号,否则解析报错 |
2. 编写步骤(从 0 到 1)
步骤 1:明确需求(核心前提)
先梳理清楚脚本的用途,比如这个脚本的需求是:
- 背单词时,按方向键快速点击 “认识 / 模糊 / 不认识” 按钮;
- 按数字 1-4 快速选择单词选项;
- 用反引号键启停整个脚本。
步骤 2:确定按键绑定规则
列出 “按键→动作” 的对应表,示例:
| 触发按键 | 动作目标 | 备注 |
|---|---|---|
| 左方向键 | 点击 “认识” 按钮 | 背单词标记 |
| 下方向键 | 点击 “模糊” 按钮 | 背单词标记 |
| 数字 1 | 点击第一个单词选项 | 选词作答 |
步骤 3:获取鼠标点击坐标(关键)
脚本中的pos是相对坐标(0~1),适配不同屏幕分辨率,获取方法:
-
方法 1(推荐):用工具自带的 “坐标拾取器”(如按键精灵、AutoHotkey 的 Window Spy),直接读取目标按钮的 “相对坐标”;
-
方法 2(手动计算):
相对 X = 按钮绝对 X 坐标 / 屏幕宽度
相对 Y = 按钮绝对 Y 坐标 / 屏幕高度
示例:屏幕 1920×1080,按钮绝对坐标 x=462、y=1004 → 相对 X=462/1920≈0.24,相对 Y=1004/1080≈0.93(和脚本中的值一致)。
步骤 4:按 JSON 规范编写脚本
遵循 JSON 语法规则(核心避坑点):
- 所有字符串(如
key/type)必须用双引号包裹,不能用单引号; - 数组元素(
keyMapNodes里的对象)之间用逗号分隔,最后一个元素后不要加逗号; - 浮点数 / 布尔值直接写,不加引号(如
0.24/false); - 用在线 JSON 格式化工具(如https://www.json.cn/)排版,提升可读性。
步骤 5:验证与调试
编写完成后,在对应的映射工具中加载脚本,验证:
- 按下绑定按键(如左方向键),是否精准点击目标位置;
- 全局开关(
switchKey)是否能启停脚本; - 若点击位置偏差,微调
pos的 x/y 值; - 若按键无响应,核对工具的 “键名对照表”(比如确认
Key_QuoteLeft是否被工具识别)。
3. 编写注意事项(避坑指南)
① 键名兼容性:不同工具的键名规范不同(比如 AutoHotkey 写Left,部分框架写Key_Left),需先查工具文档,避免按键绑定失效;
② 坐标类型:确认工具支持 “相对坐标”(0~1)还是 “绝对坐标”(整数),混用会导致点击位置错误;
③ JSON 语法错误:常见问题如 “最后一个数组元素加逗号”“布尔值加引号”,可先用https://jsonlint.com/ 校验语法;
④ 按键冲突:避免绑定系统 / 应用的快捷键(比如不要用Ctrl+C绑定点击,否则复制功能失效);
⑤ 扩展性:若需要双击 / 延迟点击,可扩展type(如KMT_DBLCLICK)或添加delay字段(如"delay": 100,延迟 100 毫秒)。
4. 扩展示例(进阶优化)
若需要增强脚本功能,可基于核心结构扩展:
json
|
|
5. 通用工具适配(补充)
这类 JSON 脚本通常运行在定制化键鼠映射工具中,若要适配通用工具(如 AutoHotkey),可转换为如下语法(示例):
autohotkey
|
|
总结
这类脚本的编写核心是:明确按键 - 动作映射规则 → 规范 JSON 格式 → 精准获取坐标 → 验证调试。关键点是匹配工具的 “键名规范” 和 “坐标类型”,避免语法错误和按键 / 坐标不匹配的问题。如果需要适配具体工具(如按键精灵、Python 键鼠库),可基于上述逻辑调整字段和格式。