【ADB】常用按键代码:adb的所有模拟按键

在 Android 的 adb shell input 命令中,可以通过 keyevent 模拟 几乎所有物理按键 (如 Home、返回、音量、电源等),以及部分 虚拟按键 (如删除、回车、菜单等)。以下是完整的 按键代码列表常用示例


1. 常用按键代码(Android KeyEvent)

按键名称 代码 (KEYCODE_) 说明
Home 键 KEYCODE_HOME 3
返回键 KEYCODE_BACK 4
电源键 KEYCODE_POWER 26
音量+ KEYCODE_VOLUME_UP 24
音量- KEYCODE_VOLUME_DOWN 25
菜单键 KEYCODE_MENU 82(部分设备已废弃)
搜索键 KEYCODE_SEARCH 84(部分设备已废弃)
回车键 KEYCODE_ENTER 66
删除键(Backspace) KEYCODE_DEL 67(删除光标前字符)
删除键(Delete) KEYCODE_FORWARD_DEL 112(删除光标后字符)
空格键 KEYCODE_SPACE 62
Tab 键 KEYCODE_TAB 61
方向键(上) KEYCODE_DPAD_UP 19
方向键(下) KEYCODE_DPAD_DOWN 20
方向键(左) KEYCODE_DPAD_LEFT 21
方向键(右) KEYCODE_DPAD_RIGHT 22
切换输入法 KEYCODE_SWITCH_CHARSET 92(部分设备支持)
截图(部分设备) KEYCODE_SYSRQ 120(需系统支持)
最近任务键 KEYCODE_APP_SWITCH 187(Android 10+ 默认)
通知栏 KEYCODE_NOTIFICATION 无(部分 ROM 支持 KEYCODE_HEADSETHOOK + 组合键)

2. 常用命令示例

(1)模拟 Home 键

bash 复制代码
adb shell input keyevent KEYCODE_HOME
# 或简写(数字代码)
adb shell input keyevent 3

(2)模拟返回键

bash 复制代码
adb shell input keyevent KEYCODE_BACK
# 或
adb shell input keyevent 4

(3)模拟删除键(Backspace)

bash 复制代码
adb shell input keyevent KEYCODE_DEL
# 或
adb shell input keyevent 67

(4)模拟 Delete 键(删除光标后字符)

bash 复制代码
adb shell input keyevent KEYCODE_FORWARD_DEL
# 或
adb shell input keyevent 112

(5)模拟电源键(锁屏/唤醒)

bash 复制代码
adb shell input keyevent KEYCODE_POWER
# 或
adb shell input keyevent 26

(6)模拟音量调节

bash 复制代码
adb shell input keyevent KEYCODE_VOLUME_UP    # 音量+
adb shell input keyevent KEYCODE_VOLUME_DOWN  # 音量-
adb shell input keyevent KEYCODE_VOLUME_MUTE  # 静音(部分设备支持)

(7)模拟方向键(游戏/导航)

bash 复制代码
adb shell input keyevent KEYCODE_DPAD_UP     # 上
adb shell input keyevent KEYCODE_DPAD_DOWN   # 下
adb shell input keyevent KEYCODE_DPAD_LEFT   # 左
adb shell input keyevent KEYCODE_DPAD_RIGHT  # 右

(8)模拟回车键(发送消息/确认)

bash 复制代码
adb shell input keyevent KEYCODE_ENTER
# 或
adb shell input keyevent 66

(9)模拟空格键

bash 复制代码
adb shell input keyevent KEYCODE_SPACE
# 或
adb shell input keyevent 62

(10)模拟最近任务键(Android 10+)

bash 复制代码
adb shell input keyevent KEYCODE_APP_SWITCH
# 或
adb shell input keyevent 187

3. 特殊按键(需系统支持)

(1)模拟截图(部分设备)

bash 复制代码
adb shell input keyevent KEYCODE_SYSRQ
# 或
adb shell screencap -p /sdcard/screen.png  # 更可靠的截图方式

(2)模拟通知栏(部分 ROM 支持)

bash 复制代码
# 方法1:使用 KEYCODE_HEADSETHOOK + 组合键(不保证通用)
adb shell input keyevent KEYCODE_HEADSETHOOK
# 方法2:使用 ADB 命令(需 Root)
adb shell am broadcast -a android.intent.action.EXPAND_STATUS_BAR

(3)模拟长按按键(需 input tap + 延迟)

bash 复制代码
# 模拟长按 Home 键(1秒)
adb shell input keyevent KEYCODE_HOME && sleep 1 && adb shell input keyevent KEYCODE_HOME

4. 完整按键代码表

参考 Android 官方文档:KeyEvent.java

或运行以下命令查看所有支持的按键:

bash 复制代码
adb shell dumpsys input
# 或
adb shell getevent -l  # 查看设备支持的原始事件(需 Root)

5. 注意事项

  1. 部分按键可能无效
    • 某些厂商 ROM(如小米、华为)可能屏蔽了部分按键(如 KEYCODE_MENUKEYCODE_SEARCH)。
  2. Android 版本差异
    • Android 10+ 移除了 KEYCODE_MENU,改用 KEYCODE_APP_SWITCH 替代最近任务键。
  3. 虚拟按键 vs 物理按键
    • KEYCODE_HOMEKEYCODE_BACK 是虚拟按键,KEYCODE_VOLUME_UP 是物理按键。
  4. 更可靠的替代方案
    • 如果 keyevent 无效,可以尝试 input tap(模拟点击坐标)或 adb shell am(发送广播)。

总结

需求 命令示例
Home 键 adb shell input keyevent KEYCODE_HOMEadb shell input keyevent 3
返回键 adb shell input keyevent KEYCODE_BACKadb shell input keyevent 4
删除键(Backspace) adb shell input keyevent KEYCODE_DELadb shell input keyevent 67
Delete 键 adb shell input keyevent KEYCODE_FORWARD_DELadb shell input keyevent 112
电源键 adb shell input keyevent KEYCODE_POWERadb shell input keyevent 26
截图 adb shell screencap -p /sdcard/screen.png(推荐)

如果某些按键无效,建议改用 input tap 模拟点击scrcpy 手动操作

相关推荐
唐古乌梁海13 小时前
【mysql】MySQL 数据库迁移
数据库·mysql·adb
nono牛14 小时前
MTK平台详解`ro.boot.serialno` 的实现流程 adb devices输出序列号
adb·智能手机
Jing_jing_X1 天前
MySQL Server 启动后到底加载了什么,创建表插入数据到底怎么存的存在哪
mysql·adb
LvLuffy1 天前
mac Android Studio配置adb环境(使用adb报错 adb: command not found)
macos·adb·android studio
放大的EZ2 天前
user 版本打开adb
adb
nono牛2 天前
adb devices`ro.boot.serialno` 的实现
adb·智能手机
nono牛2 天前
MTK平台详解`adb devices`输出的序列号组成
android·linux·adb·智能手机
工具人55554 天前
adb disable-verity
数据库·数据仓库·adb
dessler5 天前
MYSQL-多种方法安装部署
android·mysql·adb
Andy5 天前
Mysql基础1
数据库·mysql·adb