마이크로 윈도우의 microwindows-0.89pre8_arm_xscalesrcdrivers 디렉토리
밑에 있는 mou_mk712.c 파일에서

static int MK712_Read(MWCOORD *dx, MWCOORD *dy, MWCOORD *dz, int *bp) 함
수 안의 내용을 살펴 봅니다.

case 0 의 내용중에

MK712_xdata = data[1];
MK712_ydata = data[2];


x = (((1024) * ( data[1] - MK712_start_dx )) / (MK712_end_dx -
MK712_start_dx ));
y = (((768) * ( data[2] - MK712_start_dy )) / (MK712_end_dy -
MK712_start_dy ));

가 있습니다.


만약 손가락을 가로로 움직였을때 마우스 포인터가 세로로 움직인다면

data[1], data[2]를 서로 바꾸어 줍니다.

이렇게

MK712_xdata = data[2];
MK712_ydata = data[1];


x = (((1024) * ( data[2] - MK712_start_dx )) / (MK712_end_dx -
MK712_start_dx ));
y = (((768) * ( data[1] - MK712_start_dy )) / (MK712_end_dy -
MK712_start_dy ));


또 가로축이나 세로축의 마우스가 서로 손가락과 반대로 움직인다면 최대 해상
도에서 계산값을 빼 줍니다.

예를 들어 손가락을 위에서 아래로 움직이는 데 마우스 포인터는 아래에서 위
로 움직인다면

y = 768-(((768) * ( data[1] - MK712_start_dy )) / (MK712_end_dy -
MK712_start_dy ));

이렇게 바꾸어 줍니다.

화면의 정 가운데 에서 손가락과 포인터가 일치 한다면 별도의 상수 조종은 필
요하지 않습니다.




Ahn궁금 wrote..
: 안녕하세요
: 전번에 답변 많은 도움이 되었습니다.
:
: 다름이 아니고 이번에는 microwindow ez-x5용을 config,Makefil등등을 모든 것
: 을 강좌에서와 같이 수정하여 크로스 컴파일한후 ez-x5에서 nfs로 파일 공유 이
: 후 demo Program을 실행했습니다. 그런데 LCD상에서는 깨끗하게 나오는데
: Touch Panel 구동이 쫌 이상하네요....
: x측과 y측이 바뀌어서 동작을 하고 포인터가 클릭되는것도 눌렀다가 뛰었을
: 때 동작을 합니다. 그리고 Touch Panel 초기 포지션을 잡을 수 있는 방법 쫌
: 알려 주세요.. ㅡ,.ㅡ
:
: 아무리 보아도 잘못한 부분이 없는것 같은데...........
:
: 답변 부탁드립니다. 꼭 좀요............ ㅡ,.ㅡ