안드로이드 터치 이벤트 보내기 / 받기
2013. 12. 30. 14:03ㆍPrograming/Android / Java
1. 터치 이벤트 확인
> adb shell getevent
현재 adb 에 연결된 기기 또는 에뮬레이터의 입력 기기 목록과 해당 기기들의 device file 경로가 나오고,
이후 몇몇 기기의 이벤트가 계속해서 실시간으로 화면에 나타난다.
add device 1: /dev/input/event2
name: "mtk-kpd"
add device 2: /dev/input/event4
name: "mtk-tpd"
add device 3: /dev/input/event3
name: "synaptics_ts"
add device 4: /dev/input/event1
name: "hwmdata"
add device 5: /dev/input/event0
name: "ACCDET"
각종 센서들에 대한 로그가 쭉~~ 나오며, 터치를 했을 경우만 찍히는 event 번호가 터치 이벤트 임을 알 수가 있다.
add device 3: /dev/input/event3
name: "synaptics_ts"
여기에서는 synaptics_ts(Touch Screen) 임을 알 수가 있다.
2. 이벤트 로그 확인
이벤트의 내용은 좌측부터 순서대로 device file path, type, code, value 이다.
/dev/input/event1: 0002 0001 00000001
/dev/input/event3: 0003 0039 0000005b
3. 터치 이벤트만 받아오기
해당 Log에서 event3이 터치 이벤트를 확인 했으므로, 터치 할 당시의 event3 로그만 확인을 하면 된다.
/dev/input/event3: 0003 0039 000000ab
/dev/input/event3: 0003 0035 000000f3
/dev/input/event3: 0003 0036 00000133
/dev/input/event3: 0003 003a 0000001f
/dev/input/event3: 0003 0032 00000004
/dev/input/event3: 0003 0033 00000003
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0003 0035 000000f4
/dev/input/event3: 0003 0036 00000131
/dev/input/event3: 0003 003a 00000022
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0003 0036 00000130
/dev/input/event3: 0003 003a 00000026
/dev/input/event3: 0003 0033 00000004
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0003 0036 0000012f
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0003 0036 0000012e
/dev/input/event3: 0003 003a 00000027
/dev/input/event3: 0000 0000 00000000
4. 터치 이벤트 보내기
아래와 같이 소스를 이용해도 좋고,
os.system("adb shell sendevent /dev/input/event1 3 53 " + x_axis)
os.system("adb shell sendevent /dev/input/event1 3 54 " + y_axis)
os.system("adb shell sendevent /dev/input/event1 3 54 " + y_axis)
아래와 같이 배치 파일을 만들어 PC로 돌려도 된다.
adb shell sendevent /dev/input/event1 3 53 x_axis
adb shell sendevent /dev/input/event1 3 54 y_axis
adb shell sendevent /dev/input/event1 3 54 y_axis
ETC. getevent Option
Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device]
-t: show time stamps
-n: don't print newlines
-s: print switch states for given bits
-S: print all switch states
-v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32, props=64)
-d: show HID descriptor, if available
-p: show possible events (errs, dev, name, pos. events)
-i: show all device info and possible events
-l: label event types and names in plain text
-q: quiet (clear verbosity mask)
-c: print given number of events then exit
-r: print rate events are received
'Programing > Android / Java' 카테고리의 다른 글
[안드로이드] 맵뷰 - T MAP API 이용하여 개발하기 1 (0) | 2013.12.30 |
---|---|
[안드로이드] 맵뷰 - T MAP API 이용하여 개발하기 2 (0) | 2013.12.30 |
[안드로이드] 막대 그래프 그리기 2 (Android Bar Graph - achartengine) (0) | 2013.12.30 |
[안드로이드/자바] 초를 분으로 변화 (second to day, hour, munute) (0) | 2013.12.28 |
오라클 ORA-12560 : TNS:프로토콜 어댑터 오류 (0) | 2013.12.27 |