当前位置:操作系统 > 安卓/Android >>

Android查询:模拟键盘鼠标事件(adb shell 实现)

1. 发送键盘事件:

命令格式1:adb shell input keyevent “value”

其中value以及对应的key code如下表所列:

KeyEvent Value
               KEYCODE
 Comment
 
0
 KEYCODE_UNKNOWN
 
1
 KEYCODE_MENU
 在SDK2.1的模拟器中命令失效,sendevent命令可行
 
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
 

命令格式2:adb shell sendevent [device] [type] [code] [value]

如: adb shell sendevent /dev/input/event0 1 229 1 代表按下按下menu键

adb shell sendevent /dev/input/event0 1 229 0 代表按下松开menu键

说明:上述的命令需组合使用

另外所知道的命令如下:

Key Name CODE

MENU 229

HOME 102

BACK (back button) 158

CALL (call button) 231

END (end call button) 107

 

 

 

 


2. 发送鼠标事件(Touch):

命令格式:adb shell sendevent [device] [type] [code] [value]

 


情况1:在某坐标点上touch

如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令如下

adb shell sendevent /dev/input/event0 3 0 40

adb shell sendevent /dev/input/event0 3 1 210

adb shell sendevent /dev/input/event0 1 330 1 //touch

adb shell sendevent /dev/input/event0 0 0 0 //it must have

adb shell sendevent /dev/input/event0 1 330 0 //untouch

adb shell sendevent /dev/input/event0 0 0 0 //it must have

注:以上六组命令必须配合使用,缺一不可

 


情况2:模拟滑动轨迹(可下载并采用aPaint软件进行试验)

如下例是在aPaint软件上画出一条开始于(100,200),止于(108,200)的水平直线

adb shell sendevent /dev/input/event0 3 0 100 //start from point (100,200)

adb shell sendevent /dev/input/event0 3 1 200

adb shell sendevent /dev/input/event0 1 330 1 //touch

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 3 0 101 //step to point (101,200)

adb shell sendevent /dev/input/event0 0 0 0

…………………… //must list each step, here just skip

adb shell sendevent /dev/input/event0 3 0 108 //end point(108,200)

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 1 330 0 //untouch

adb shell sendevent /dev/input/event0 0 0 0

 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,