Android查詢:類比鍵盤滑鼠事件(adb shell 實現)

來源:互聯網
上載者:User

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.