自己写的触控屏Driver在mini6410有问题
之前我自己买了一个触控屏
也帮触控屏写了一个 Driver,
这个 Driver 在 mini2440 使用正常.
现在我将触控屏装在mini6410上面,
然后将触控屏Driver 移植到mini6410上面,
Driver 可以运作,但是一但手指起来后,手指再次按下触控屏,
虽然按下触控屏的位置是刚刚离开的位置,
cursor却跑到别的地方,真的很奇怪,
我现在report 的方式如下
input_report_abs(input, ABS_X, x);
input_report_abs(input, ABS_Y, y);
input_report_key(input, BTN_TOUCH, 1);
input_report_abs(input, ABS_PRESSURE, 1);
input_sync(input);
不过我打开mini6410 的 Touch driver,
他们report 的方式好奇怪,我完全看不懂,
********mini6410 的 Touch driver
if (updown)
{
if(downflag==0)
notify_data(ts->xp, ts->yp, 1);
}
else
notify_data(0, 0, 0);
//------------------------------------------------ --------------------------
static inline void notify_data(unsigned x, unsigned y, unsigned down)
{
ts_status = ((x << 16) | (y)) | (down << 31);
ts_ready = 1;
wake_up_interruptible(&ts_waitq);
}
有人了解mini2440 与mini6410 触控屏driver 的差别吗?