iOS快捷指令全键盘控制进阶

iOS 脚本进阶:快捷指令与全键盘控制实战

把 iPhone 变成可编程设备:全键盘控制命令绑定、快捷指令自动化、键盘快捷键触发脚本,附配置案例与脚本调用方式。

约 8 分钟

自动化脚本,就是把手机上重复的手工操作写成程序让手机自己执行;群控的区别是多了一层多设备的集中管理。这篇只谈一件事:快捷指令与全键盘控制实战。

键盘快捷键为什么值得单独学

iPhone 的系统辅助功能里有全键盘控制。外接键盘或模拟键盘可以用快捷键执行系统命令,比如打开通知中心、切换 App、触发快捷指令。EasyClick 的键盘快捷键功能让脚本直接发出这些按键。蓝牙或 OTG HID 负责点击和滑动,键盘快捷键负责系统命令,快捷指令负责多步动作。三块接上之后,脚本就能操作普通点击摸不到的系统界面。

EasyClick HID 设置与快捷指令绑定配置界面展示 iOS 键盘快捷键控制

和直接调系统接口比,这条路径有几件具体的事能做。全键盘控制和快捷指令都是系统自带的,配上蓝牙或 OTG HID 就能用,不依赖代理。打开通知中心、控制中心这类系统级动作,普通脚本接口不好直接做。一个快捷指令可以包住多步操作,脚本只触发一次。配好的快捷指令还能分享到别的设备。代理覆盖不到的时候,输入文字、把内容下到相册,常常走这条路。

原理与依赖:

要素 说明
全键盘控制 iOS 系统原生辅助功能(设置-辅助功能-键盘与键入),无需越狱
键盘快捷键 中控「新增键盘快捷键」,把组合键绑定到系统命令/快捷指令
脚本调用 bleEvent.keyPressChar(蓝牙)/ otgEvent.keyPressChar(OTG)
触发载体 蓝牙 HID / OTG HID 硬件方案

一套组合键,两端都得配

全键盘控制把键盘按键映射到系统动作。按下组合键,系统执行对应命令。这张映射表存在设备本地,在「全键盘控制-命令」里配置。EasyClick 的键盘快捷键是让硬件方案模拟按下同一组按键,触发设备上已经配好的命令。两侧的组合键必须一致:

设备端:全键盘控制-命令 → 组合键 X → 命令 A
中控端:新增键盘快捷键 → 组合键 X → 发送
脚本:keyPressChar(组合键 X) → 设备执行命令 A

任何一侧组合键不一致,通道就断,这也是配置时最容易出错的地方。环境需要一台 iPhone(无需越狱)、蓝牙 HID / OTG HID 硬件方案(模拟键盘的载体)、EasyClick 中控,以及已在手机「快捷指令」App 中创建的目标快捷指令。

中控端要再配一遍。设备端的「全键盘控制-命令」决定本机按下组合键之后执行什么;中控的「新增键盘快捷键」决定脚本调用 keyPressChar 时硬件发出哪一组键。少了前者,组合键按下去系统不知道干什么;少了后者,脚本调 keyPressChar 时硬件不知道发什么。每绑一个快捷键都要做两侧配置。建议建一张快捷键映射表,记下设备端组合键、中控端组合键、对应命令或快捷指令、脚本调用名。

三个实战案例:打开通知中心、输入文字、下载视频

案例一是快捷键打开通知中心。手机「设置-辅助功能-键盘与键入-全键盘控制-命令」找到通知中心,点击后会提示键盘快捷键对话框。中控右键,进蓝牙 BLE 设置,选新增键盘快捷键,组合键选 gui,字符输入 b,点发送。手机上的对话框里快捷键会变化,点完成。再次进入新增快捷键,输入相同组合键 gui+b 点发送,手机上即切换到通知中心。脚本里用 bleEvent.keyPressChar 触发同样效果。其他系统命令和快捷指令也是这套绑定流程。

这条通道是:设备端命令,中控快捷键,脚本触发。跑通之后,可以确认硬件能发出组合键、设备端能响应。后面更复杂的场景都叠在这条通道上。两处容易错:设备端对话框弹出后先看当前组合键有没有被占用;中控发送后要等设备端确认变化再点完成,顺序错了映射不生效。

案例二是用快捷指令输入文字,也是 iOS 自动化输入的三级方案之一。通道是:

手机快捷指令:请求电脑端接口 → 内容写入剪贴板 → 粘贴
↓
全键盘控制-命令:找到快捷指令 → 绑定快捷键
↓
中控:新增相同快捷键(如 gui+u)
↓
脚本:触发 → 快捷指令执行 → 文字进入输入框

快捷指令里要加设备震动,后台也能取到数据。最后回调 suc 接口,告诉程序这一步做完了。配好的快捷指令可以分享给其他手机。免代理时没有 inputText,往输入框塞文字最常见的办法是剪贴板加粘贴。剪贴板内容由快捷指令向电脑端接口取回,脚本侧只触发一次快捷键。三种输入方案对比:

方案 依赖 特点 适合
inputText 代理模式 系统级直输,速度快 代理场景、需要系统级输入
imeApi 输入法 脱机主程序 免代理输入,需配置输入法 脱机/免代理场景
快捷指令剪贴板 快捷指令 + 快捷键 免代理,通道简单,可分享复用 免代理场景、组合动作

有代理时优先 inputText。免代理且输入很频繁,用 imeApi。次数少,或者还要下载、取数,用快捷指令。稳定性上做三件事。加震动,脚本端用传感器或日志确认执行完成,不要盲等。快捷指令最后回调 suc,脚本按回调继续。触发后留出 0.5-2 秒再进下一步。

案例三是快捷指令下载视频到相册。没有代理 IPA 时,新建快捷指令调用两次「获取 URL 内容」。第一次拿真实资源地址,处理跳转和短链。第二次用真实地址拉取视频并保存到相册。绑定快捷键,案例里是 gui+i。脚本触发后视频进入相册。直链或可解析跳转的下载可以用这个办法。需要登录态或加密签名的资源,快捷指令处理不了,要回到代理模式或专用脚本。先在手机上手动跑一次,能下成功再绑定快捷键。手动都失败的,脚本化也下不来。

快捷指令常见的情况是手动能跑、脚本跑不通。先在快捷指令 App 里手动跑一次,确认动作本身没问题。再在手机上手动按一次组合键,确认触发通道通。最后用脚本触发,截图确认结果。触发、等待、确认要能在日志或截图里看到。

排查、脚本调用与多设备推广

现象 原因 处理
按下快捷键无反应 设备端命令未配置或组合键不一致 核对设备端与中控端组合键逐字符一致
组合键被系统占用 与系统已有快捷键冲突 换成业务自定义组合,避开系统常用键
快捷指令未执行 未在命令列表绑定该快捷指令 在“全键盘控制-命令”里找到快捷指令并绑定
文字没进输入框 剪贴板写入失败或粘贴时机不对 确认快捷指令能取到数据;触发前确保输入框聚焦
下载不成功 资源需要登录态或非直链 手动验证快捷指令可行性,不行就换方案

全键盘控制里系统预留了不少组合键,比如 gui+h 回主屏幕、gui+空格 搜索。自定义组合键前先看设备端「命令」列表里已经占用的组合键,避开常用系统动作,选业务含义清楚的字母。冲突时改字母,修饰键继续用 gui(Command)。shift 和 ctrl 组合在部分 App 里另有含义。脚本调用方式:

场景 调用
蓝牙方案触发快捷键 bleEvent.keyPressChar(组合键, 字符)
OTG 方案触发快捷键 otgEvent.keyPressChar(组合键, 字符)
组合多个动作 依次调用多个 keyPressChar
配合输入 触发剪贴板粘贴快捷指令

单台跑通后向多台推广,有三件事。快捷指令可以分享、批量下发,但每台设备的「全键盘控制-命令」绑定仍要在设备端确认。设备多了以后,快捷键映射表是排查依据,要跟着改。新的 iOS 版本先在一台测试机上验证绑定,再决定要不要全量升级。

关于 EasyClick:手机自动化脚本开发平台,覆盖安卓免 ROOT、iOS 免越狱、鸿蒙三大手机生态,还提供苹果脚本编写、苹果群控、安卓群控、远程云控、AI 群控手机等。→ 了解全部产品


想要真实跑起来?

本文介绍的方案均可在 EasyClick 手机自动化平台落地。官网提供完整文档、开发工具与群控云控产品,免费体验。

访问 EasyClick 官网 →