Autojs基础-按键模拟(keys)

1.前言

这部分内容一部分函数是基于无障碍服务,另一部分函数是基于root环境的。root函数一般用于模拟器和虚拟机中,无障碍函数一般用于新游戏或者新系统中。我们开发游戏脚本一般也会选用支持root的环境,能够更加方便。但是,有些新游戏不允许在root环境中启动,这种情况下更推荐通过无障碍的方式完成相关功能。如果用过直板机,对于这部分内容更好理解,可以理解为通过命令去调用这些按键。如果无障碍函数和root函数都能完成的功能,我更推荐使用无障碍函数,因为无障碍函数兼容性更好并且执行速度更快。

2.无障碍函数

1.back与home

back函数相当于返回按键,用于返回,返回是否执行成功。

home函数相当于home按键,用于返回手机主页面,返回是否执行成功。

scss 复制代码
// 返回
let hasExecute = back();
console.log("返回是否执行成功:" + hasExecute);
sleep(1000);

// 返回主页面
hasExecute = home();
console.log("返回是否执行成功:" + hasExecute);

2.powerDialog

弹出电源键菜单,返回是否执行成功。

ini 复制代码
let hasExecute = powerDialog();
console.log("操作是否执行成功:" + hasExecute);

3.notifications与quickSettings

notifications函数用于拉出通知栏,返回是否执行成功。

quickSettings函数用于显示快速设置(下拉通知栏到底),返回是否执行成功。

scss 复制代码
// 通知栏
let hasExecute = notifications();
console.log("通知栏是否执行成功:" + hasExecute);
sleep(2000);

// 返回
back();
sleep(1000);

// 快速设置
hasExecute = quickSettings();
console.log("快速设置是否执行成功:" + hasExecute);

4.recents与splitScreen

recents函数用于显示最近任务,返回是否执行成功。

splitScreen函数用于分屏,返回是否执行成功。

scss 复制代码
// 最近任务
let hasExecute = recents();
console.log("最近任务是否执行成功:" + hasExecute);
sleep(2000);

// 返回
back();
sleep(1000);

// 分屏
hasExecute = splitScreen();
console.log("分屏是否执行成功:" + hasExecute);

3.root函数

1.Home与Back

back函数相当于返回按键,用于返回。

home函数相当于home按键,用于返回手机主页面。

scss 复制代码
// 返回
Back();
sleep(1000);

// 返回主页面
Home();

2.Power与Menu

Power函数相当于电源键,用于弹出电源界面。这个函数使用时需要注意,模拟器中调用会黑屏。

Menu函数相当于菜单键,用于弹出菜单界面。这个函数在模拟器使用时,没有反应。

scss 复制代码
// 弹出电源界面
Power();
sleep(1000);

// 返回
Back();
sleep(1000);

// 弹出菜单界面
Menu();

3.VolumeUp与VolumeDown

VolumeUp函数相当于加音量键,用于增加音量。

VolumeDown函数相当于减音量键,用于降低音量。

scss 复制代码
// 加音量
VolumeUp();
sleep(1000)

// 减音量
VolumeDown();

4.Camera

相当于相机键,用于启动相机。由于我的环境是模拟器,使用这个函数没有反应。

5.Up、Down、Left与Right

Up、Down、Left和Right函数分别相当于上、下、左和右键,用于控制方向。但是随着直板机(按键手机)的淘汰,游戏移动都是通过触摸完成,很多游戏都没有兼容按键操作。在游戏中调用这四个函数,大多数情况下是没有反应的。但是,一些非常老的游戏会兼容按键操作,这四个函数又非常好用。

如果是在模拟器环境,按键盘的上下左右键和这四个函数功能类似,如果键盘方向键能够控制方向,一般情况下,这四个函数也能有效。

scss 复制代码
Up();
sleep(1000);

Down();
sleep(1000);

Left();
sleep(1000);

Right();

6.OK

相当于确定键,用于确定操作。由于直板机(按键手机)的淘汰,现在很多对话框根本没有兼容按键操作。很多时候对话框上有确定按钮,但是调用这个函数是无效的。

7.Text

在输入框输入内容,需要传递内容一个参数,参数类型为字符串。这个函数和OK函数境地差不多,能不能用还得看输入框的兼容性。

8.KeyCode

通过键值来调用功能,需要传递键值一个参数,参数类型为字符串,具体键值对应的按键功能可以参考官方文档的KeyCode对照表。上面介绍的功能,类似于将常用键值和按键功能对应关系进行了二次封装。以返回主页面为例,下面两种调用方式类似。

scss 复制代码
Home();

// 相当于
KeyCode("3");

4.总结

特别注意,只有通过个人主页博客或者个人介绍中方式,才能获取源码

相关推荐
半个落月8 小时前
LangChain.js Agent Memory 实战(下):用 Milvus 构建可检索的长期记忆
javascript·langchain
半个落月8 小时前
LangChain.js Agent Memory 实战(上):从内存对话、文件持久化到截断与摘要
javascript·langchain
linux_cfan10 小时前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
何何____12 小时前
Vue 生命周期详解
前端·javascript
默_笙14 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试
尾善爱看海16 小时前
《JavaScript 数组操作全攻略:12 类 API + 30 个实战场景 + 20 个避坑指南》
前端·javascript·面试
OpsEye17 小时前
为什么你的 Agent 莫名烧钱?聊聊循环调用的兜底方案
javascript·ai编程
linux_cfan17 小时前
16 · `custom-media-element`:属性拦截与转发
前端·javascript·音视频
右耳朵猫AI17 小时前
Web前端周刊2026W38 | React 19.3 发布、StyleX 深潜、jsdom 30.1 提速
前端·javascript·react.js·typescript·node.js
落魄大学生之流水线上谋生计17 小时前
GreenLife Carbon · OpenHarmony 智慧低碳生态平台
javascript