ADB常用按键模拟代码
在 Android 的 adb shell input 命令中,可以通过 keyevent 模拟几乎 所有物理按键 (如 Home、返回、音量、电源等),以及部分 虚拟按键 (如删除、回车、菜单等)。以下是完整的 按键代码列表 和 常用示例:
1.常用按键代码
| 按键名称 | 代码(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 |
| 方向键 | (下) | KEYCODE_DPAD_DOWN |
| 方向键 | (左) | KEYCODE_DPAD_LEFT |
| 方向键 | (右) | KEYCODE_DPAD_RIGHT |
| 切换输入法 | KEYCODE_SWITCH_CHARSET | 92(部分设备支持) |
| 截图(部分设备) | KEYCODE_SYSRQ | 120(需系统支持) |
| 最近任务键 | KEYCODE_APP_SWITCH | 187(Android 10+ 默认) |
| 通知栏 | KEYCODE_NOTIFICATION | 无(部分 ROM 支持 KEYCODE_HEADSETHOOK + 组合键) |
2.常用命令示例
2.1模拟HOME按键
bash
adb shell input keyevent KEYCODE_HOME
# 或简写(数字代码)
adb shell input keyevent 3
2.2 模拟返回键
bash
adb shell input keyevent KEYCODE_BACK
# 或
adb shell input keyevent 4
等等
3. 特殊按键(需系统支持)
3.1 模拟截图(部分设备)
bash
adb shell input keyevent KEYCODE_SYSRQ
# 或
adb shell screencap -p /sdcard/screen.png # 更可靠的截图方式
3.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.3 模拟长按按键(需 input tap + 延迟)
bash
# 模拟长按 Home 键(1秒)
adb shell input keyevent KEYCODE_HOME && sleep 1 && adb shell input keyevent KEYCODE_HOME