眾所周知,Linux上可以通過sendEvent來模擬鍵盤或者鼠標點擊事件。而Android是基于Linux2.6平臺的,所以也應該可以模擬點擊事件, 在很多網絡文章中也有提到。但是我在Motolola的Xoom,Android3.0系統(tǒng)上,試圖通過 adb -d shell sendevent /dev/input/event6 3 0 180 adb -d shell sendevent /dev/input/event6 3 1 70 adb -d shell sendevent /dev/input/event6 1 330 1 adb -d shell sendevent /dev/input/event6 0 0 0 adb -d shell sendevent /dev/input/event6 1 330 0 adb -d shell sendevent /dev/input/event6 0 0 0 來點擊一個應用程序,發(fā)現(xiàn)無效。但在模擬器的同一個位置是可以點擊到的,所以懷疑有問題。 于是我分別用getevent來獲取模擬器上點擊的事件與在XOOM上點擊的事件,發(fā)現(xiàn)兩者不同。
在模擬器上: 得到的Event是 /dev/input/event0 3 0 180 /dev/input/event0 3 1 70 ........... 這6個事件 在真機上,我用cat /proc/bus/input/devices對比了列出的內容,touchscreen是event6, 但是得到的event卻是
/dev/input/event6: 0003 0030 0000003c
/dev/input/event6: 0003 0032 00000004
/dev/input/event6: 0003 0035 000008b6
/dev/input/event6: 0003 0036 000005ab
/dev/input/event6: 0003 0034 000000f0
/dev/input/event6: 0003 0039 00000000
/dev/input/event6: 0000 0002 00000000
/dev/input/event6: 0000 0000 00000000 ......等幾十條事件 我不明白, 1. 為什么模擬器上點擊一下只有固定6條格式,但是模擬器上出現(xiàn)了幾十條???
2. 參考國內很多網絡資料也說,用 0003代表要控制絕對坐標,后面跟0或者1表示x或者y坐標,為什么這里卻是更的0030,0032,0035,0036,0034,0039,0002這些信息??
有哪位愿意指點,非常感謝
附錄: 用cat獲得的設備對應event信息 # cat /proc/bus/input/devices cat /proc/bus/input/devices I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="compass" P: Phys= S: Sysfs=/devices/virtual/input/input0 U: Uniq= H: Handlers=event0 B: EV=5 B: REL=3f8
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="accelerometer" P: Phys= S: Sysfs=/devices/virtual/input/input1 U: Uniq= H: Handlers=event1 B: EV=d B: REL=7 B: ABS=100 7
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="max9635_als" P: Phys= S: Sysfs=/devices/virtual/input/input2 U: Uniq= H: Handlers=event2 B: EV=11 B: MSC=8
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="gyroscope" P: Phys= S: Sysfs=/devices/virtual/input/input3 U: Uniq= H: Handlers=event3 B: EV=5 B: REL=38
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="barometer" P: Phys= S: Sysfs=/devices/virtual/input/input4 U: Uniq= H: Handlers=event4 B: EV=9 B: ABS=1000000
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="cpcap-key" P: Phys= S: Sysfs=/devices/virtual/input/input5 U: Uniq= H: Handlers=event5 keyreset keyreset B: EV=3 B: KEY=4 0 0 0 800 0 0 0
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="qtouch-touchscreen" P: Phys= S: Sysfs=/devices/virtual/input/input6 U: Uniq= H: Handlers=event6 B: EV=b B: KEY=400 0 4 0 0 0 0 0 0 0 0 B: ABS=2750000 11030003
I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="stingray-keypad" P: Phys= S: Sysfs=/devices/virtual/input/input7 U: Uniq= H: Handlers=event7 keyreset keychord B: EV=3 B: KEY=c0000 0 0 0 |
|