【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 手动操作

相关推荐
小乌龟打怪升级2 天前
adb 详解
adb
雨声不在2 天前
USB 网络共享 + adb 无权限问题排查
adb
王琦03183 天前
第二章 MySQL集群高可用架构
mysql·adb·架构
深念Y3 天前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
小Ti客栈4 天前
MySQL查询原理:从Server到InnoDB
android·mysql·adb
深念Y4 天前
老Flyme 官方 root 开启 ADB TCP 方案
linux·数据库·网络协议·tcp/ip·adb·智能手机·emmc
00后程序员张5 天前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
OceanWaves19935 天前
mysql 5.7.29 主从同步配置
数据库·mysql·adb
九皇叔叔5 天前
RHEL9 安装 MySQL 8.4.11.LTS 版本
android·mysql·adb
灵析表格5 天前
Excel连接MySQL的函数化革命:灵析表格MySQL函数族业务应用分析
数据库·mysql·adb·excel·wps·灵析表格·excel公式盒子