Home | History | Annotate | Download | only in input
      1 <!--
      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 
     19 The `getevent` tool runs on the device and provides information about input
     20 devices and a live dump of kernel input events.
     21 
     22 It is very useful tool for ensuring that device drivers are reporing the
     23 expected set of capabilities for each input device and are generating the
     24 desired stream of input events.
     25 
     26 ## Usage ##
     27 
     28 ### Showing Device Capabilities ###
     29 
     30 It is often quite useful to see all of the keys and axes that a device reports.
     31 Use the `-p` option to do that.
     32 
     33 Here is a list of all of the Linux key codes and other events that a
     34 particular 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 
     72 The `-i` option shows even more information than `-p`, including HID mapping tables
     73 and debugging information.
     74 
     75 The `-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 
     92 This is what a two finger multitouch gesture looks like for a touch screen
     93 that is using the Linux multitouch input protocol "B".  We use the `-l` option
     94 to 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
    113