给我留言 | 加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
| PHP | ASP | JAVA | .NET | FLASH | AJAX | MYSQL | PGSQL | MSSQL | DB2 | ORACLE | SYBASE | Html/Css | 服务器相关 | IOS |
您当前的位置:首页 > WEb开发 > 服务器相关

adb模拟按键与输入

时间:2017-12-23 12:05:33  来源:  作者:

 在 adb shell 里有个很实用的命令叫 input,通过它可以做一些有趣的事情。

input 命令的完整 help 信息如下:

Usage: input [<source>] <command> [<arg>...]  The sources are:       mouse       keyboard       joystick       touchnavigation       touchpad       trackball       stylus       dpad       gesture       touchscreen       gamepad  The commands and default sources are:       text <string> (Default: touchscreen)       keyevent [--longpress] <key code number or name> ... (Default: keyboard)       tap <x> <y> (Default: touchscreen)       swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)       press (Default: trackball)       roll <dx> <dy> (Default: trackball)

比如使用 adb shell input keyevent <keycode> 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下:

keycode 含义
3 HOME 键
4 返回键
5 打开拨号应用
6 挂断电话
24 增加音量
25 降低音量
26 电源键
27 拍照(需要在相机应用里)
64 打开浏览器
82 菜单键
85 播放/暂停
86 停止播放
87 播放下一首
88 播放上一首
122 移动光标到行首或列表顶部
123 移动光标到行末或列表底部
126 恢复播放
127 暂停播放
164 静音
176 打开系统设置
187 切换应用
207 打开联系人
208 打开日历
209 打开音乐
210 打开计算器
220 降低屏幕亮度
221 提高屏幕亮度
223 系统休眠
224 点亮屏幕
231 打开语音助手
276 如果没有 wakelock 则让系统休眠

下面是 input 命令的一些用法举例。

电源键

命令:

adb shell input keyevent 26

执行效果相当于按电源键。

菜单键

命令:

adb shell input keyevent 82

HOME 键

命令:

adb shell input keyevent 3

返回键

命令:

adb shell input keyevent 4

音量控制

增加音量:

adb shell input keyevent 24

降低音量:

adb shell input keyevent 25

静音:

adb shell input keyevent 164

媒体控制

播放/暂停:

adb shell input keyevent 85

停止播放:

adb shell input keyevent 86

播放下一首:

adb shell input keyevent 87

播放上一首:

adb shell input keyevent 88

恢复播放:

adb shell input keyevent 126

暂停播放:

adb shell input keyevent 127

点亮/熄灭屏幕

可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。

点亮屏幕:

adb shell input keyevent 224

熄灭屏幕:

adb shell input keyevent 223

滑动解锁

如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。

命令(参数以机型 Nexus 5,向上滑动手势解锁举例):

adb shell input swipe 300 1000 300 500

参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标

输入文本

在焦点处于某文本框时,可以通过 input 命令来输入文本。

命令:

adb shell input text hello

现在 hello 出现在文本框了。

 

adb shell input keyevent code详解

 
adb shell input keyevent 7    # for key '0'
adb shell input keyevent 8    # for key '1'
adb shell input keyevent 29    # for key 'A'
adb shell input keyevent 54    # for key 'B'
adb shell input text "ANDROID" 

---------------------------------------------------

电话键

键名 描述 键值
 
KEYCODE_CALL 拨号键 5
KEYCODE_ENDCALL 挂机键 6
KEYCODE_HOME 按键Home 3
KEYCODE_MENU 菜单 82
KEYCODE_BACK 返回键 4
KEYCODE_SEARCH 搜索 84
KEYCODE_CAMERA 拍照键 27
KEYCODE_FOCUS 拍照对焦键 80
KEYCODE_POWER 电源键 26
KEYCODE_NOTIFICATION 通知键 83
KEYCODE_MUTE 话筒静音键 91
KEYCODE_VOLUME_MUTE 扬声器静音键 164
KEYCODE_VOLUME_UP 音量增加键 24
KEYCODE_VOLUME_DOWN 音量减小键 25

控制

键名 描述 键值
 
KEYCODE_ENTER 回车键 66
KEYCODE_ESCAPE ESC键 111
KEYCODE_DPAD_CENTER 导航键 确定键 23
KEYCODE_DPAD_UP 导航键 向上 19
KEYCODE_DPAD_DOWN 导航键 向下 20
KEYCODE_DPAD_LEFT 导航键 向左 21
KEYCODE_DPAD_RIGHT 导航键 向右 22
KEYCODE_MOVE_HOME 光标移动到开始键 122
KEYCODE_MOVE_END 光标移动到末尾键 123
KEYCODE_PAGE_UP 向上翻页键 92
KEYCODE_PAGE_DOWN 向下翻页键 93
KEYCODE_DEL 退格键 67
KEYCODE_FORWARD_DEL 删除键 112
KEYCODE_INSERT 插入键 124
KEYCODE_TAB Tab键 61
KEYCODE_NUM_LOCK 小键盘锁 143
KEYCODE_CAPS_LOCK 大写锁定键 115
KEYCODE_BREAK Break/Pause键 121
KEYCODE_SCROLL_LOCK 滚动锁定键 116
KEYCODE_ZOOM_IN 放大键 168
KEYCODE_ZOOM_OUT 缩小键 169

组合键

键名 描述
 
KEYCODE_ALT_LEFT Alt+Left
KEYCODE_ALT_RIGHT Alt+Right
KEYCODE_CTRL_LEFT Control+Left
KEYCODE_CTRL_RIGHT Control+Right
KEYCODE_SHIFT_LEFT Shift+Left
KEYCODE_SHIFT_RIGHT Shift+Right

基本

键名 描述 键值
 
KEYCODE_0 按键'0' 7
KEYCODE_1 按键'1' 8
KEYCODE_2 按键'2' 9
KEYCODE_3 按键'3' 10
KEYCODE_4 按键'4' 11
KEYCODE_5 按键'5' 12
KEYCODE_6 按键'6' 13
KEYCODE_7 按键'7' 14
KEYCODE_8 按键'8' 15
KEYCODE_9 按键'9' 16
KEYCODE_A 按键'A' 29
KEYCODE_B 按键'B' 30
KEYCODE_C 按键'C' 31
KEYCODE_D 按键'D' 32
KEYCODE_E 按键'E' 33
KEYCODE_F 按键'F' 34
KEYCODE_G 按键'G' 35
KEYCODE_H 按键'H' 36
KEYCODE_I 按键'I' 37
KEYCODE_J 按键'J' 38
KEYCODE_K 按键'K' 39
KEYCODE_L 按键'L' 40
KEYCODE_M 按键'M' 41
KEYCODE_N 按键'N' 42
KEYCODE_O 按键'O' 43
KEYCODE_P 按键'P' 44
KEYCODE_Q 按键'Q' 45
KEYCODE_R 按键'R' 46
KEYCODE_S 按键'S' 47
KEYCODE_T 按键'T' 48
KEYCODE_U 按键'U' 49
KEYCODE_V 按键'V' 50
KEYCODE_W 按键'W' 51
KEYCODE_X 按键'X' 52
KEYCODE_Y 按键'Y' 53
KEYCODE_Z 按键'Z' 54

符号

键名 描述
 
KEYCODE_PLUS 按键'+'
KEYCODE_MINUS 按键'-'
KEYCODE_STAR 按键'*'
KEYCODE_SLASH 按键'/'
KEYCODE_EQUALS 按键'='
KEYCODE_AT 按键'@'
KEYCODE_POUND 按键'#'
KEYCODE_APOSTROPHE 按键''' (单引号)
KEYCODE_BACKSLASH 按键'\'
KEYCODE_COMMA 按键','
KEYCODE_PERIOD 按键'.'
KEYCODE_LEFT_BRACKET 按键'['
KEYCODE_RIGHT_BRACKET 按键']'
KEYCODE_SEMICOLON 按键';'
KEYCODE_GRAVE 按键'`'
KEYCODE_SPACE 空格键

小键盘

键名 描述
 
KEYCODE_NUMPAD_0 小键盘按键'0'
KEYCODE_NUMPAD_1 小键盘按键'1'
KEYCODE_NUMPAD_2 小键盘按键'2'
KEYCODE_NUMPAD_3 小键盘按键'3'
KEYCODE_NUMPAD_4 小键盘按键'4'
KEYCODE_NUMPAD_5 小键盘按键'5'
KEYCODE_NUMPAD_6 小键盘按键'6'
KEYCODE_NUMPAD_7 小键盘按键'7'
KEYCODE_NUMPAD_8 小键盘按键'8'
KEYCODE_NUMPAD_9 小键盘按键'9'
KEYCODE_NUMPAD_ADD 小键盘按键'+'
KEYCODE_NUMPAD_SUBTRACT 小键盘按键'-'
KEYCODE_NUMPAD_MULTIPLY 小键盘按键'*'
KEYCODE_NUMPAD_DIVIDE 小键盘按键'/'
KEYCODE_NUMPAD_EQUALS 小键盘按键'='
KEYCODE_NUMPAD_COMMA 小键盘按键','
KEYCODE_NUMPAD_DOT 小键盘按键'.'
KEYCODE_NUMPAD_LEFT_PAREN 小键盘按键'('
KEYCODE_NUMPAD_RIGHT_PAREN 小键盘按键')'
KEYCODE_NUMPAD_ENTER 小键盘按键回车

功能

键名 描述
 
KEYCODE_F1 按键F1
KEYCODE_F2 按键F2
KEYCODE_F3 按键F3
KEYCODE_F4 按键F4
KEYCODE_F5 按键F5
KEYCODE_F6 按键F6
KEYCODE_F7 按键F7
KEYCODE_F8 按键F8
KEYCODE_F9 按键F9
KEYCODE_F10 按键F10
KEYCODE_F11 按键F11
KEYCODE_F12 按键F12

媒体

键名 描述
 
KEYCODE_MEDIA_PLAY 多媒体键 播放
KEYCODE_MEDIA_STOP 多媒体键 停止
KEYCODE_MEDIA_PAUSE 多媒体键 暂停
KEYCODE_MEDIA_PLAY_PAUSE 多媒体键 播放/暂停
KEYCODE_MEDIA_FAST_FORWARD 多媒体键 快进
KEYCODE_MEDIA_REWIND 多媒体键 快退
KEYCODE_MEDIA_NEXT 多媒体键 下一首
KEYCODE_MEDIA_PREVIOUS 多媒体键 上一首
KEYCODE_MEDIA_CLOSE 多媒体键 关闭
KEYCODE_MEDIA_EJECT 多媒体键 弹出
KEYCODE_MEDIA_RECORD 多媒体键 录音

手柄按键

键名 描述
 
KEYCODE_BUTTON_1 通用游戏手柄按钮 #1
KEYCODE_BUTTON_2 通用游戏手柄按钮 #2
KEYCODE_BUTTON_3 通用游戏手柄按钮 #3
KEYCODE_BUTTON_4 通用游戏手柄按钮 #4
KEYCODE_BUTTON_5 通用游戏手柄按钮 #5
KEYCODE_BUTTON_6 通用游戏手柄按钮 #6
KEYCODE_BUTTON_7 通用游戏手柄按钮 #7
KEYCODE_BUTTON_8 通用游戏手柄按钮 #8
KEYCODE_BUTTON_9 通用游戏手柄按钮 #9
KEYCODE_BUTTON_10 通用游戏手柄按钮 #10
KEYCODE_BUTTON_11 通用游戏手柄按钮 #11
KEYCODE_BUTTON_12 通用游戏手柄按钮 #12
KEYCODE_BUTTON_13 通用游戏手柄按钮 #13
KEYCODE_BUTTON_14 通用游戏手柄按钮 #14
KEYCODE_BUTTON_15 通用游戏手柄按钮 #15
KEYCODE_BUTTON_16 通用游戏手柄按钮 #16
KEYCODE_BUTTON_A 游戏手柄按钮 A
KEYCODE_BUTTON_B 游戏手柄按钮 B
KEYCODE_BUTTON_C 游戏手柄按钮 C
KEYCODE_BUTTON_X 游戏手柄按钮 X
KEYCODE_BUTTON_Y 游戏手柄按钮 Y
KEYCODE_BUTTON_Z 游戏手柄按钮 Z
KEYCODE_BUTTON_L1 游戏手柄按钮 L1
KEYCODE_BUTTON_L2 游戏手柄按钮 L2
KEYCODE_BUTTON_R1 游戏手柄按钮 R1
KEYCODE_BUTTON_R2 游戏手柄按钮 R2
KEYCODE_BUTTON_MODE 游戏手柄按钮 Mode
KEYCODE_BUTTON_SELECT 游戏手柄按钮 Select
KEYCODE_BUTTON_START 游戏手柄按钮 Start
KEYCODE_BUTTON_THUMBL Left Thumb Button
KEYCODE_BUTTON_THUMBR Right Thumb Button

待查

 

键名 描述
 
KEYCODE_NUM 按键Number modifier
KEYCODE_INFO 按键Info
KEYCODE_APP_SWITCH 按键App switch
KEYCODE_BOOKMARK 按键Bookmark
KEYCODE_AVR_INPUT 按键A/V Receiver input
KEYCODE_AVR_POWER 按键A/V Receiver power
KEYCODE_CAPTIONS 按键Toggle captions
KEYCODE_CHANNEL_DOWN 按键Channel down
KEYCODE_CHANNEL_UP 按键Channel up
KEYCODE_CLEAR 按键Clear
KEYCODE_DVR 按键DVR
KEYCODE_ENVELOPE 按键Envelope special function
KEYCODE_EXPLORER 按键Explorer special function
KEYCODE_FORWARD 按键Forward
KEYCODE_FORWARD_DEL 按键Forward Delete
KEYCODE_FUNCTION 按键Function modifier
KEYCODE_GUIDE 按键Guide
KEYCODE_HEADSETHOOK 按键Headset Hook
KEYCODE_META_LEFT 按键Left Meta modifier
KEYCODE_META_RIGHT 按键Right Meta modifier
KEYCODE_PICTSYMBOLS 按键Picture Symbols modifier
KEYCODE_PROG_BLUE 按键Blue “programmable”
KEYCODE_PROG_GREEN 按键Green “programmable”
KEYCODE_PROG_RED 按键Red “programmable”
KEYCODE_PROG_YELLOW 按键Yellow “programmable”
KEYCODE_SETTINGS 按键Settings
KEYCODE_SOFT_LEFT 按键Soft Left
KEYCODE_SOFT_RIGHT 按键Soft Right
KEYCODE_STB_INPUT 按键Set-top-box input
KEYCODE_STB_POWER 按键Set-top-box power
KEYCODE_SWITCH_CHARSET 按键Switch Charset modifier
KEYCODE_SYM 按键Symbol modifier
KEYCODE_SYSRQ 按键System Request / Print Screen
KEYCODE_TV 按键TV
KEYCODE_TV_INPUT 按键TV input
KEYCODE_TV_POWER 按键TV power
KEYCODE_WINDOW 按键Window
KEYCODE_UNKNOWN 未知按键




支持的KEYCODE
0 -->  "KEYCODE_UNKNOWN"
1 -->  "KEYCODE_MENU"
2 -->  "KEYCODE_SOFT_RIGHT"
3 -->  "KEYCODE_HOME"
4 -->  "KEYCODE_BACK"
5 -->  "KEYCODE_CALL" 
6 -->  "KEYCODE_ENDCALL" 
7 -->  "KEYCODE_0" 
8 -->  "KEYCODE_1" 
9 -->  "KEYCODE_2" 
10 -->  "KEYCODE_3"
11 -->  "KEYCODE_4" 
12 -->  "KEYCODE_5" 
13 -->  "KEYCODE_6" 
14 -->  "KEYCODE_7" 
15 -->  "KEYCODE_8" 
16 -->  "KEYCODE_9" 
17 -->  "KEYCODE_STAR" 
18 -->  "KEYCODE_POUND" 
19 -->  "KEYCODE_DPAD_UP" 
20 -->  "KEYCODE_DPAD_DOWN" 
21 -->  "KEYCODE_DPAD_LEFT" 
22 -->  "KEYCODE_DPAD_RIGHT"
23 -->  "KEYCODE_DPAD_CENTER" 
24 -->  "KEYCODE_VOLUME_UP" 
25 -->  "KEYCODE_VOLUME_DOWN" 
26 -->  "KEYCODE_POWER" 
27 -->  "KEYCODE_CAMERA" 
28 -->  "KEYCODE_CLEAR" 
29 -->  "KEYCODE_A" 
30 -->  "KEYCODE_B" 
31 -->  "KEYCODE_C" 
32 -->  "KEYCODE_D" 
33 -->  "KEYCODE_E" 
34 -->  "KEYCODE_F" 
35 -->  "KEYCODE_G" 
36 -->  "KEYCODE_H" 
37 -->  "KEYCODE_I" 
38 -->  "KEYCODE_J" 
39 -->  "KEYCODE_K" 
40 -->  "KEYCODE_L" 
41 -->  "KEYCODE_M"
42 -->  "KEYCODE_N" 
43 -->  "KEYCODE_O" 
44 -->  "KEYCODE_P" 
45 -->  "KEYCODE_Q" 
46 -->  "KEYCODE_R" 
47 -->  "KEYCODE_S" 
48 -->  "KEYCODE_T" 
49 -->  "KEYCODE_U" 
50 -->  "KEYCODE_V" 
51 -->  "KEYCODE_W" 
52 -->  "KEYCODE_X"
53 -->  "KEYCODE_Y" 
54 -->  "KEYCODE_Z" 
55 -->  "KEYCODE_COMMA" 
56 -->  "KEYCODE_PERIOD"
57 -->  "KEYCODE_ALT_LEFT" 
58 -->  "KEYCODE_ALT_RIGHT" 
59 -->  "KEYCODE_SHIFT_LEFT" 
60 -->  "KEYCODE_SHIFT_RIGHT" 
61 -->  "KEYCODE_TAB" 
62 -->  "KEYCODE_SPACE" 
63 -->  "KEYCODE_SYM" 
64 -->  "KEYCODE_EXPLORER" 
65 -->  "KEYCODE_ENVELOPE" 
66 -->  "KEYCODE_ENTER" 
67 -->  "KEYCODE_DEL" 
68 -->  "KEYCODE_GRAVE" 
69 -->  "KEYCODE_MINUS" 
70 -->  "KEYCODE_EQUALS" 
71 -->  "KEYCODE_LEFT_BRACKET" 
72 -->  "KEYCODE_RIGHT_BRACKET" 
73 -->  "KEYCODE_BACKSLASH" 
74 -->  "KEYCODE_SEMICOLON" 
75 -->  "KEYCODE_APOSTROPHE"
76 -->  "KEYCODE_SLASH" 
77 -->  "KEYCODE_AT" 
78 -->  "KEYCODE_NUM" 
79 -->  "KEYCODE_HEADSETHOOK" 
80 -->  "KEYCODE_FOCUS"
81 -->  "KEYCODE_PLUS"
82 -->  "KEYCODE_MENU"
83 -->  "KEYCODE_NOTIFICATION"
84 -->  "KEYCODE_SEARCH" 
85 -->  "TAG_LAST_KEYCODE" 

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门