2015-01-29 7 views
2

현재 adb 쉘의 sendevent 명령을 통해 복잡한 제스처를 생성하려고합니다. 제스처를 재생하기 위해 나는 getevent adb 메소드를 통해 이벤트를 기록했습니다. 다음은 Nexus 4 화면의 오른쪽 하단에있는 간단한 탭의 예입니다. Adb 쉘 getevent 메소드가 Nexus 4에서 X와 Y의 값을 두 번 반환합니다.

/dev/input/event2: 0003 0039 00000059 
/dev/input/event2: 0003 0035 000005ff 
/dev/input/event2: 0003 0036 000008e6 
/dev/input/event2: 0003 003a 0000002d 
/dev/input/event2: 0000 0000 00000000 
/dev/input/event2: 0003 0039 ffffffff 
/dev/input/event2: 0000 0000 00000000 

합니다 ( sendevent 방법) 진수 값으로 변환 그것은한다 :

/dev/input/event2: 3 57 89 
/dev/input/event2: 3 53 1535 
/dev/input/event2: 3 54 2278 
/dev/input/event2: 3 58 45 
/dev/input/event2: 0 0 0 
/dev/input/event2: 3 57 -1 
/dev/input/event2: 0 0 0 

볼 수 있듯이, X의 값 (행 2 즉 53 코드) 1,535하고있다 Y 값 (3 행의 코드 54)은 2278입니다.

Nexus 4 화면 크기가 768 * 1280 인 경우 어떻게 가능합니까? 실제 크기와 비교하여 2 배로 증가한 것으로 보입니다 ... Nexus 5에서 똑같은 작업을 수행 할 때 이런 일이 발생하지 않습니다.

이 문제에 대한 도움을 주셔서 감사합니다. ^^

답변

2

이들은 input 기기 (터치 스크린) 좌표입니다. 터치 스크린은 디스플레이와 해상도가 다른 별도의 장치입니다.

는 그 것이었다, 실제로

+0

getevent -il /dev/input/event2 | grep ABS_MT_POSITION 

을 터치 스크린의 해상도를 확인하고 max에서 찾으십시오! 설명 주셔서 감사합니다 :) – Rafou