correct usage of "adb shell input"

20482 views
Skip to first unread message

dreamerBoy

unread,
Nov 20, 2008, 11:14:05 PM11/20/08
to Android Developers
Hi -

I am wondering what the correct invocation of "adb shell input" is -

It could be potentially very useful for me if I could inject key
events into a running app.

I've tried:

> adb shell input keyevent KEYCODE_0

or

> adb shell input keyevent KEYCODE_CALL

etc. with an emulator running. I was inside the Dialer app and I was
hoping that my numbers would show up. They do not. Neither the CALL
or the ENDCALL buttons are clicked.

I'm a little confused about the "adb shell input keyevent" syntax
because it doesn't specify whether the action is UP or DOWN (or does
it imply both a DOWN then an UP?).

More often than not, I get something like:

[1] Killed input keyevent CALL

when I attempt to run "adb shell input keyevent .."

In frustration, I tried "adb shell input keyevent 4" but this seemed
to bounce me out of the dialer back to the menu.

Can anyone shed some light as to whether I'm using this command
correctly or if not, how and in what context it is intended to be
used?

Thanks so much.

Madhusudhan K

unread,
Dec 2, 2008, 8:25:33 AM12/2/08
to android-d...@googlegroups.com
Hi
You can use key codes directly like
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'
we can also send string as a text, like
adb shell input text "ANDROID"

The below text is the whole list of all keyevent names with their
respective codes numbers...

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"

-- Madhu
Reply all
Reply to author
Forward
0 new messages