도와주세요!!
글 수 15,339
2008.01.31 18:02:12 (*.75.54.249)
11267
안녕하세요..
현재 터치를 찍을때마다.. 실제 디바이스 드라이버에서 디버깅값, QT의 readMouseData함수(qmouselinuxtp_qws.cpp안에 있는 함수)가 이벤트핸들러를 통해 가져온 터치값, 캘리브레이션 터치값을 같이 터미널창에 뿌려주는 상태로 확인했는데 이상한 부분이 있어서요.
디바이스 드라이버에서는 터치된 좌표값을 정확하게 감지하는 것 같습니다... 그런데 QT의 readMouseData함수안에서 이벤트핸들러를 통해 가져온 터치좌표값을 읽어 보면 간간이 특정부위(좌측상단 모서리)에서 디바이스 드라이버에서 올려주는 값이 아닌 값을 가지고 오는 것으로 보이는데요.. 이 경우는 어떤 부분을 디버깅을 해야 되는지요? ^^;;
X=802, Y=1113, Z1=713, Z2=2839, InPressure=0x957 // -- 디바이스 드라이버에서 올라온 터치 좌표값
abs_x, abs_y : (802, 802) // -- 디바이스 드라이버에서 이벤트 핸들러를 통해 QT로 넘겨 받은 터치좌표값
xf, yf : (45, 0) // 켈리브레이션 된 좌표값
X=802, Y=1113, Z1=712, Z2=2845, InPressure=0x962
X=802, Y=1113, Z1=711, Z2=2848, InPressure=0x967
abs_x, abs_y : (802, 801) // -- 디바이스드라이버에서 Y좌표값은1113인데 이 값을 제대로 넘겨 받지 못하고 801로 넘겨 받네요...;;
xf, yf : (45, 0) //-- 그래서 캘리브레이션 Y값은 0으로 틀리게 나오고 이때 위치도 다른데가 찍힙니다.
X=801, Y=1113, Z1=709, Z2=2854, InPressure=0x977
X=802, Y=1114, Z1=708, Z2=2858, InPressure=0x983
abs_x, abs_y : (802, 1114) //-- Y좌표값을 정상적으로 넘겨 받은 경우
xf, yf : (45, 51) //-- 이때는 좌표도 정상적으로 캘리브레이션 됨.
X=802, Y=1114, Z1=707, Z2=2865, InPressure=0x98c
abs_x, abs_y : (802, 801)
xf, yf : (45, 0)
X=802, Y=1115, Z1=702, Z2=2887, InPressure=0x9c0
abs_x, abs_y : (802, 1115)
xf, yf : (45, 51)