Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android查詢:模擬鍵盤鼠標事件(adb shell 實現)

Android查詢:模擬鍵盤鼠標事件(adb shell 實現)

編輯:關於Android編程

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

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved