[t:/]$ 지식_

directFB linux input tslib 기능 추가

2009/01/10

이래저래 tslib가 잘 안 붙고.
엔트리 포인트 찾기도 힘들어서.

tslib 소스를 그냥 가져다 붙였다.
프루빙 타임도 절약하고 여러모로 최적화라 할 수 있다.

s3c6410 의 경우다.

struct tslib_linear {
    int    a[7];
};

struct tslib_linear lin; // 전역변수

// linux_input_EventThread 안에서

...
          for (i=0; i<readlen / sizeof(levt[0]); i++) {
              DFBInputEvent temp;

                switch(levt[i].code) {
                      case ABS_X:
                        temp_x = levt[i].value;
                        levt[i].value = ( lin.a[2] +
                                    lin.a[0]*temp_x + 
                                    lin.a[1]*temp_y ) / lin.a[6];

                        break;

                    case ABS_Y:
                        printf("levt_y = %d\n", levt->value);

                        temp_y = levt[i].value;
                        levt[i].value = ( lin.a[5] +
                                    lin.a[3]*temp_x +
                                    lin.a[4]*temp_y ) / lin.a[6];

                        printf("temp_y = %d\n", temp_y);

                        break;

                    default:
                        break;
                }

tslib에는 터치스크린에서 커서가 떨거나 하는 일을 잡아주기도 한다.
tslib의 나머지 부분을 가져다 붙이면 directFB에서 모든 터치 보정이 끝나게 된다.
linux-input 만 있으면 땡.









[t:/] is not "technology - root". dawnsea, rss