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

相关推荐
t***p9351 天前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
w***4241 天前
【mysql部署】在ubuntu22.04上安装和配置mysql教程
android·mysql·adb
s***55811 天前
【MySQL】RedHat8安装mysql9.1
数据库·mysql·adb
t***31651 天前
MySQL5.7.44-winx64版本Windows Server下载安装教程图解
windows·adb
y***03171 天前
MySQL 导出数据
数据库·mysql·adb
l***91471 天前
MySQL--》如何在MySQL中打造高效优化索引
android·mysql·adb
半路_出家ren1 天前
Tomcat下配置woniusales
java·数据库·mysql·网络安全·adb·tomcat·firewalld
j***57681 天前
MySQL——表操作及查询
android·mysql·adb
w***95491 天前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb
r***86981 天前
在 Ubuntu 上安装 MySQL 的详细指南
mysql·ubuntu·adb