小米設備イベント取得の記録

4583 ワード

Androidシステムには多くの小さなツールがあり、これらのツールを実行して、私たちは多くのデータを把握することができて、藤に沿って瓜を触ることができて、設備に対して特殊な操作をすることができます.
私の携帯電話のevent情報を記録します.私の携帯電話は小米版です.
F:\eclipse\android_sdk-64\adt-bundle-windows-x86_64-20130219\sdk\platform-tools

adb shell

shell@android:/ $ cat /proc/bus/input/devices

cat /proc/bus/input/devices

I: Bus=0018 Vendor=0001 Product=0001 Version=0001

N: Name="mione-keypad"			---->    

P: Phys=mione-keypad/input0

S: Sysfs=/devices/platform/msm_ssbi.0/pm8058-core/pm8xxx-keypad/input/input0

U: Uniq=

H: Handlers=event0

B: PROP=0

B: EV=13

B: KEY=40000000 0 0 0 0 0 0 10000 0 0 0 0 0 0 0 0 0 0 0 0 c0000 0 0 0

B: MSC=10





I: Bus=0018 Vendor=4654 Product=5000 Version=0100

N: Name="ft5x0x"			---->    

P: Phys=/devices/i2c-3/3-0038/input/input1

S: Sysfs=/devices/i2c-3/3-0038/input/input1

U: Uniq=

H: Handlers=event1

B: PROP=0

B: EV=9

B: ABS=6640000 0





I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="pmic8xxx_pwrkey"			---->  

P: Phys=pmic8xxx_pwrkey/input0

S: Sysfs=/devices/platform/msm_ssbi.0/pm8058-core/pm8xxx-pwrkey/input/input2

U: Uniq=

H: Handlers=event2

B: PROP=0

B: EV=3

B: KEY=100000 0 0 0





I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="lightsensor"			---->    

P: Phys=/devices/virtual/input/input3

S: Sysfs=/devices/virtual/input/input3

U: Uniq=

H: Handlers=event3

B: PROP=0

B: EV=9

B: ABS=100 0





I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="proximity"			---->      (    )

P: Phys=/devices/virtual/input/input4

S: Sysfs=/devices/virtual/input/input4

U: Uniq=

H: Handlers=event4

B: PROP=0

B: EV=9

B: ABS=100 2000000





I: Bus=0018 Vendor=0000 Product=0000 Version=0000

N: Name="accelerometer"			---->    

P: Phys=/devices/virtual/input/input5

S: Sysfs=/devices/virtual/input/input5

U: Uniq=

H: Handlers=event5

B: PROP=0

B: EV=9

B: ABS=7





I: Bus=0018 Vendor=0000 Product=0000 Version=0000

N: Name="compass"			---->   

P: Phys=/devices/virtual/input/input6

S: Sysfs=/devices/virtual/input/input6

U: Uniq=

H: Handlers=event6

B: PROP=0

B: EV=9

B: ABS=7





I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="8660_handset"			---->    

P: Phys=pmic8058_othc/input0

S: Sysfs=/devices/platform/msm_ssbi.0/pm8058-core/pm8058-othc.1/input/input7

U: Uniq=

H: Handlers=event7

B: PROP=0

B: EV=23

B: KEY=10000 110 0 0 0 0 0

B: SW=4

次に、geteventを使用してデバイスの動作を理解し、geteventを使用してHandlerが指定したデバイスイベントをリスニングします.たとえば、次のようにします.
> adb shell getevent /dev/input/event1   (event1     )

 
次に携帯電話の画面をクリックすると、以下のような内容が表示されます.
 
[type] [code] [value]

0003 0039 00000000   --》     (57)

0003 0035 0000015d   --》x 0x15d    (53)

0003 0036 0000011d   --》y 0x11d     (54)

0003 003a 00000010   --》ABS_MT_PRESSURE  (58)

0003 0032 00000010   --》ABS_MT_WIDTH_MAJOR  (50)	 

0000 0002 00000000   --》SYN                 (2)

0000 0000 00000000

0003 0039 00000000   --》  

0003 0035 0000015d   --》x 0x15d   

0003 0036 0000011d   --》y 0x11d   

0003 003a 00000001   --》ABS_MT_PRESSURE 

0003 0032 00000001   --》ABS_MT_WIDTH_MAJOR

0000 0002 00000000   --》SYN

0000 0000 00000000

0000 0002 00000000

0000 0000 00000000





   /frameworks/base/include/ui/EventHub.h   code  

#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */

#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */

#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */

#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */

#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */

#define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */

#define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */

#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device (finger, pen, ...) */

#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */

#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */

#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */

一度にappアイコンをクリックして画面のリスニングを行います.
 
getevent/dev/input/event1
0003 0039 00000037          id

0003 0039 00000000            

0003 0035 000000ae       x

0003 0036 000001ca       y

0003 003a 00000010

0003 0032 00000010

0000 0000 00000000         

0003 003a 00000020

0003 0032 00000020

0000 0000 00000000         

0003 0039 ffffffff       id  

0000 0000 00000000