명령어 : 안드로이드 에뮬레이터기반 실시간 좌표값 구하기
c:\>adb shell getevent
하면 실시간 클릭 이벤트 좌표 값이 찍힌다.
좌표값은 아래와 같은 구조로 찍히고 event7이 물리적인 마우스를 뜻한다.
=====================================
add device 1: /dev/input/event7
name: "androVM Virtual Input"
could not get driver version for /dev/input/mouse3, Not a typewriter
add device 2: /dev/input/event6
name: "androVM via VirtualBox seamless mouse"
could not get driver version for /dev/input/mouse2, Not a typewriter
add device 3: /dev/input/event5
name: "androVM via VirtualBox PS/2 mouse"
could not get driver version for /dev/input/mouse1, Not a typewriter
add device 4: /dev/input/event4
name: "VirtualBox mouse integration"
add device 5: /dev/input/event1
name: "Sleep Button"
add device 6: /dev/input/event0
name: "Power Button"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 7: /dev/input/event3
name: "ImExPS/2 Generic Explorer Mouse"
add device 8: /dev/input/event2
name: "AT Translated Set 2 keyboard"
/dev/input/event7: 0001 014a 00000001
/dev/input/event7: 0003 003a 00000001
/dev/input/event7: 0003 0035 0000015f
/dev/input/event7: 0003 0036 000004d9
/dev/input/event7: 0000 0002 00000000
/dev/input/event7: 0000 0000 00000000
/dev/input/event7: 0001 014a 00000000
/dev/input/event7: 0003 003a 00000000
/dev/input/event7: 0000 0002 00000000
/dev/input/event7: 0000 0000 00000000
===========================================
/dev/input/event7: 0001 014a 00000001
굵게 표시된 부분이 좌표값인데 16진수로 표기되있고 한 라인이 클릭 한번 좌표값이 아니고 위에 보이는 전체가 하나의 클릭 이벤트 값이 되기 때문에 스크립트 언어 만들어주면 클릭 할 수 있는 명령어로 보낼 수 있다.
Python으로 표현하자면 아래와 같은 형태로 10진수 변환하여 넣어주면 클릭할 수 있다.
os.system("adb shell sendevent /dev/input/event7 1 330 1")
os.system("adb shell sendevent /dev/input/event7 3 58 1")
os.system("adb shell sendevent /dev/input/event7 3 53 46")
os.system("adb shell sendevent /dev/input/event7 3 54 247")
os.system("adb shell sendevent /dev/input/event7 0 2 0")
os.system("adb shell sendevent /dev/input/event7 0 0 0")
os.system("adb shell sendevent /dev/input/event7 1 330 0")
os.system("adb shell sendevent /dev/input/event7 3 58 0")
os.system("adb shell sendevent /dev/input/event7 0 2 0")
os.system("adb shell sendevent /dev/input/event7 0 0 0")