急!!! 官方5.5寸屏幕的tslib触摸移植问题
本帖最后由 qiyei2009 于 2015-9-9 23:28 编辑买了一块5.5寸屏,本人自己折腾了一段时间,现在显示已经可以正常的在ubuntu系统下显示文字,图片等(自己编写的应用程序)
现在想移植tslib库来支持触摸,根据下面这个网站移植的http://blog.csdn.net/shui1025701856/article/details/7849669
由于修改了pad板的内核让其支持触摸屏,运行hexdump /dev/input/event1 会有一下数据输出
运行其他的hexdump /dev/input/其他的event就没有输出,因此可以确定。,触摸节点就是、、/dev/input/event1
按照http://blog.csdn.net/shui1025701856/article/details/7849669这个网址交叉编译tslib后,把tslib下的文件复制到rootfs/usr/local下,并且修改rootfs/etc/profile如下:export TSLIB_DIR=/usr/local/tslibexport TSLIB_TSDEVICE=/dev/input/event1exportTSLIB_CALIBFILE=$TSLIB_DIR/etc/pointercalexportTSLIB_CONFFILE=$TSLIB_DIR/etc/ts.confexport TSLIB_PLUGINDIR=$TSLIB_DIR/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export LD_LIBRARY_PATH=$TSLIB_DIR/lib
运行tslib/bin/目录下的任何测试程序,均会出现tslib: Selected device is not a touchscreen(must support ABS_X and ABS_Y events)
首先根据错误信息考,发现错误发生在tslib中的plugins目录下input-raw.c文件中的check_fd函数内static int check_fd(struct tslib_input *i){ structtsdev *ts = i->module.dev; intversion; longevbit; longabsbit; longkeybit;
if(ioctl(ts->fd, EVIOCGVERSION, &version) < 0) { fprintf(stderr,"tslib: Selected device is not a Linux input event device\n"); return-1; }
if(version < EV_VERSION) { fprintf(stderr,"tslib: Selected device uses a different version of the event protocolthan tslib was compiled for\n"); return-1; }
if( (ioctl(ts->fd, EVIOCGBIT(0, sizeof(evbit)), evbit) < 0) || !(evbit& BIT_MASK(EV_ABS)) || !(evbit& BIT_MASK(EV_KEY)) ) { fprintf(stderr,"tslib: Selected device is not a touchscreen (must support ABS and KEYevent types)\n"); return-1; }if ((ioctl(ts->fd, EVIOCGBIT(EV_ABS,sizeof(absbit)), absbit)) < 0 || !(absbit& BIT_MASK(ABS_X)) || !(absbit& BIT_MASK(ABS_Y))) { fprintf(stderr,"tslib: Selected device is not a touchscreen (must support ABS_X and ABS_Yevents)\n"); return-1; }
估计是触摸屏上报事件时,没有上报ABS_X 和ABS_Y,应该需要在驱动中修改吧,本人对触摸屏驱动位置还不熟悉,请问版主和各位大神们,是在那个文件那个地方修改啊?我看触摸屏驱动都在这个目录下啊drivers\input\touchscreen\synaptics_dsx
还请版主和大神们解答!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ubuntu貌似对小屏支持不好,楼主可以在上报的函数中加上打印跟踪一下坐标来调试 暴走的阿Sai 发表于 2015-9-10 15:48
Ubuntu貌似对小屏支持不好,楼主可以在上报的函数中加上打印跟踪一下坐标来调试
版主,我看在synaptics_dsx_core.c文件中有三个上报事件函数, synaptics_rmi4_f11_abs_report, synaptics_rmi4_f12_abs_report,synaptics_rmi4_f1a_report,5.5寸屏幕需要在synaptics_rmi4_report_touch函数中根据fhandler->fn_number来选择,究竟选择的是哪一个啊? ohyeah521 发表于 2016-2-25 23:30
firefly-rk3288-plus 刷ubuntu 支持什么屏幕?
最好搭配之前官方出售的10.1寸屏,或者后续新出的大显示屏 暴走的阿Sai 发表于 2016-2-26 09:17
最好搭配之前官方出售的10.1寸屏,或者后续新出的大显示屏
还会出10.1寸的新屏么? 冒似10.1寸屏没有卖了 后面问题解决了吗?
页:
[1]