blob: 58077538d60acf642287f2bbe6356e2812213550 [file] [log] [blame] [view]
Jeff Brown590a9d62011-06-30 12:55:34 -07001<!--
2 Copyright 2011 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
17# Getevent #
18
19The `getevent` tool runs on the device and provides information about input
20devices and a live dump of kernel input events.
21
22It is very useful tool for ensuring that device drivers are reporing the
23expected set of capabilities for each input device and are generating the
24desired stream of input events.
25
26## Usage ##
27
28### Showing Device Capabilities ###
29
30It is often quite useful to see all of the keys and axes that a device reports.
31Use the `-p` option to do that.
32
33Here is a list of all of the Linux key codes and other events that a
34particular keyboard says it supports.
35
36 $ adb shell su -- getevent -p
37
38 name: "Motorola Bluetooth Wireless Keyboard"
39 events:
40 KEY (0001): 0001 0002 0003 0004 0005 0006 0007 0008
41 0009 000a 000b 000c 000d 000e 000f 0010
42 0011 0012 0013 0014 0015 0016 0017 0018
43 0019 001a 001b 001c 001d 001e 001f 0020
44 0021 0022 0023 0024 0025 0026 0027 0028
45 0029 002a 002b 002c 002d 002e 002f 0030
46 0031 0032 0033 0034 0035 0036 0037 0038
47 0039 003a 003b 003c 003d 003e 003f 0040
48 0041 0042 0043 0044 0045 0046 0047 0048
49 0049 004a 004b 004c 004d 004e 004f 0050
50 0051 0052 0053 0055 0056 0057 0058 0059
51 005a 005b 005c 005d 005e 005f 0060 0061
52 0062 0063 0064 0066 0067 0068 0069 006a
53 006b 006c 006d 006e 006f 0071 0072 0073
54 0074 0075 0077 0079 007a 007b 007c 007d
55 007e 007f 0080 0081 0082 0083 0084 0085
56 0086 0087 0088 0089 008a 008c 008e 0090
57 0096 0098 009b 009c 009e 009f 00a1 00a3
58 00a4 00a5 00a6 00ab 00ac 00ad 00b0 00b1
59 00b2 00b3 00b4 00b7 00b8 00b9 00ba 00bb
60 00bc 00bd 00be 00bf 00c0 00c1 00c2 00d9
61 00f0 0110 0111 0112 01ba
62 REL (0002): 0000 0001 0008
63 ABS (0003): 0028 : value 223, min 0, max 255, fuzz 0, flat 0, resolution 0
64 0029 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
65 002a : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
66 002b : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
67 MSC (0004): 0004
68 LED (0011): 0000 0001 0002 0003 0004
69 input props:
70 <none>
71
72The `-i` option shows even more information than `-p`, including HID mapping tables
73and debugging information.
74
75The `-l` option uses textual labels for all event codes, which is handy.
76
77 $ adb shell su -- getevent -lp /dev/input/event1
78
79 name: "Melfas MMSxxx Touchscreen"
80 events:
81 ABS (0003): ABS_MT_SLOT : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0
82 ABS_MT_TOUCH_MAJOR : value 0, min 0, max 30, fuzz 0, flat 0, resolution 0
83 ABS_MT_POSITION_X : value 0, min 0, max 720, fuzz 0, flat 0, resolution 0
84 ABS_MT_POSITION_Y : value 0, min 0, max 1280, fuzz 0, flat 0, resolution 0
85 ABS_MT_TRACKING_ID : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0
86 ABS_MT_PRESSURE : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
87 input props:
88 INPUT_PROP_DIRECT
89
90### Showing Live Events ###
91
92This is what a two finger multitouch gesture looks like for a touch screen
93that is using the Linux multitouch input protocol "B". We use the `-l` option
94to show textual labels and `-t` to show timestamps.
95
96 $ adb shell su -- getevent -lt /dev/input/event1
97
98 [ 78826.389007] EV_ABS ABS_MT_TRACKING_ID 0000001f
99 [ 78826.389038] EV_ABS ABS_MT_PRESSURE 000000ab
100 [ 78826.389038] EV_ABS ABS_MT_POSITION_X 000000ab
101 [ 78826.389068] EV_ABS ABS_MT_POSITION_Y 0000025b
102 [ 78826.389068] EV_ABS ABS_MT_SLOT 00000001
103 [ 78826.389068] EV_ABS ABS_MT_TRACKING_ID 00000020
104 [ 78826.389068] EV_ABS ABS_MT_PRESSURE 000000b9
105 [ 78826.389099] EV_ABS ABS_MT_POSITION_X 0000019e
106 [ 78826.389099] EV_ABS ABS_MT_POSITION_Y 00000361
107 [ 78826.389099] EV_SYN SYN_REPORT 00000000
108 [ 78826.468688] EV_ABS ABS_MT_SLOT 00000000
109 [ 78826.468688] EV_ABS ABS_MT_TRACKING_ID ffffffff
110 [ 78826.468719] EV_ABS ABS_MT_SLOT 00000001
111 [ 78826.468719] EV_ABS ABS_MT_TRACKING_ID ffffffff
112 [ 78826.468719] EV_SYN SYN_REPORT 00000000