键码、文本与屏幕手势——输入类动作的规则和坑
输入类动作让按键「代替你操作」:替你打字、替你按键盘上的键、替你在屏幕上点一下。这类动作威力最大,前置条件和系统限制也最多。
三个键盘依赖的输入动作
- 输入键码(Input keycode):模拟按键盘上的某个键,比如字母、数字、方向键
- 输入按键事件(Input key event,2.1+):比键码更底层的事件,可带 meta 状态
- 输入文本(Input text):直接输入一段文字
三者都依赖 Key Mapper 键盘在场(或用 Shizuku 替代):
- 用 Key Mapper 键盘:需要先启用并选择(见添加动作的修错流程),代价是打字时得切回自己的输入法
- 用 Shizuku:不需要切换键盘,日常体验最好(见Shizuku 支持)
- 注意内置的基础输入法没有屏幕键盘也不支持非英文,长期用建议装 GUI Keyboard
屏幕手势三件套(Android 7.0+)
点击屏幕(Tap screen,2.1+)
在指定坐标模拟一次点击。用途:把物理键变成「屏幕上任何位置」的快捷方式——点发送按钮、点播放键、点确认框。
滑动屏幕(Swipe screen,2.5+)
从起点坐标滑到终点坐标,可设时长与模拟手指数。
捏合屏幕(Pinch screen,2.5+)
捏合/张开手势,可设起止点、捏合距离、手指数与时长。捏合距离越大动作越强,建议从小值调起。
三条硬限制(来自安卓系统,无解)
- 一次只能一处:Key Mapper 不能同时点/滑/捏多个位置——想边走边开枪的虚拟摇杆方案行不通
- 不能抢操作权:你手指按着屏幕时,Key Mapper 的手势无法同时执行
- 手势时长受系统上限:安卓对无障碍手势的最大持续时长有限制,超长滑动会被截断
键码动作在游戏里为什么不灵
游戏普遍直接读输入设备的原始事件而不走输入法通道,所以键码类动作在游戏里大概率无效。想在手柄按键之间互改,用的是「按键事件 + 指定手柄设备」组合,完整配方见手柄按键重映射。
4.1~4.3 补充的文本动作
- 全选光标处文本、移动光标(按字符/词/行/段落/页,3.2+)
- 输入屏幕键盘的「发送/回车」键(4.1+)——配合聊天应用的一键发送宏很好用
输入类动作解决「替你操作」,下一组看「替你控制播放」:媒体与音量动作。