게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안드) adb shell에서 sendevent의 좌표계가 안맞습니다 ㅠㅠ
게시물ID : programmer_17397짧은주소 복사하기
작성자 : 빙티
추천 : 0
조회수 : 1349회
댓글수 : 2개
등록시간 : 2016/05/27 02:58:57
옵션
  • 본인삭제금지
안녕하세요! 제가 adb shell을 통해 안드로이드 디바이스에 터치 이벤트를 가하는 실험을 하고 있었습니다.

$ input tap 320 110 
같은건 당연이 (320,110)에 터치이벤트가 잘 작동하였습니다.

그런데 이를 대신하여
http://www.softteco.com/blog/android-clickonscreenxy-shell-script-function-for-automated-testing-part-2/
이 링크를 참고아혀 아래와 같이 shell 코드를 적었습니다.

$ su
sendevent /dev/input/event1 3 57 7
sendevent /dev/input/event1 3 53 320
sendevent /dev/input/event1 3 54 110
sendevent /dev/input/event1 3 48 0
sendevent /dev/input/event1 3 58 38
sendevent /dev/input/event1 3 63 6
sendevent /dev/input/event1 0 0 0
# 320, 110에 ACTION_DOWN

sendevent /dev/input/event1 3 57 -1
sendevent /dev/input/event1 0 0 0
# ACTION_UP

을 실행하였는데요, 터치 이벤트 자체는 작동을 하는데
이게 엉뚱한 좌표로 터치가 됩니다 ㅠㅠ

그 이유를 알아보기 위해, 안드로이드 터치 이벤트의 패라미터로 받아오는 좌표계를 탐구해 보았습니다.


일단 화면의 전체 크기를 알아보았습니다.


스크린샷을 찍고 크기를 측정하거나
Display mdisp = getWindowManager().getDefaultDisplay();Point mdispSize = new Point();mdisp.getSize(mdispSize);int maxX = mdispSize.x;  int maxY = mdispSize.y;
위와 같은 코드를 쓰면, 제 디바이스의 화면 크기는 (1280,800)가 나옵니다...



그런데, shell에 $getevent를 실행시키고, 화면의 맨 오른쪽 아래를 눌러보면
캡처.PNG

위의 16진법을 10진법으로 번역해보면(노란색) 크기가 (4067, 4072) 정도가 나오는것 같습니다...
제 생각에는 아마 전체 크기가 (fff, fff)라고 정의한거 같은데요...

여튼, 이 두개의 방법으로 구한 화면 크기가 너무 차이가 나서
이게 왜 이렇게 되는지...... (fe3, fe8)같은 좌표계의 크기는 어떻게 구할 수 있는지 알고 싶습니다 ㅠㅠ


답변해주시면 정말 감사드리겠습니다!
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호