I'm trying to figure out what format the output is from the getevent command in the adb shell.
For example, the output looks like this:
adb shell getevent -t | grep event1
The -t flag provides a timestap and the grep is to filter the messages to only the touch screen's events.
22779-197145: /dev/input/event1: 0003 003a 00400001
22779-197999: /dev/input/event1: 0003 0039 82c30a97
22779-218477: /dev/input/event1: 0003 003a 00390001
22779-219301: /dev/input/event1: 0003 0039 82c30aa4
22779-230623: /dev/input/event1: 0003 003a 002f0001
22779-231416: /dev/input/event1: 0003 0039 82c10aae
22779-242769: /dev/input/event1: 0003 003a 00190001
22779-243623: /dev/input/event1: 0003 0039 82c60ac1
22779-253328: /dev/input/event1: 0003 003a 00000002
22779-254213: /dev/input/event1: 0003 0039 82da0ae4
22779-415590: /dev/input/event1: 0003 003a 00000000
22779-416444: /dev/input/event1: 0003 0039 800b1549
The problem is that I have no idea how to process this information. While the seconds last field alternates between two codes (which has been suggested to correspond to X and Y values), the last field seems to either contain huge or very small numbers.
Furthermore, the timestamp is also foreign to me. I wonder if the part after the dash are nanoseconds?
Does anyone know where I can find out about the format of these things?
/dev/input/eventX
is used by evdev
linux kernel subsystem which is generic input event layer handling events and passing it timestamped to the apps. You can try this to get more human readable output on what is going on Android with getevent
tool, like this:
$ adb shell getevent -lp /dev/input/event1
To get all getevent
's options, do:
$ adb shell getevent --help
You can read more about getevent
tool here and about evdev
on Wiki.
According to kernel sources, evdev use nanosecond-resolution time format (ktime
) and the sources are in linux/next/include/linux/ktime.h
or here, if you want to view it online.