tslib库移植selected device is not a touchscreen I understand

今天在移植tslib库是出现了selected device is not a touchscreen I understand,参考了网上的一些做法,总结了一下解决方法

我用的是JZ2440开发板,linux内核版本3.4.2.

首先按照韦东山老师的教程安装tslib,安装过程大家可另行查询。这里只说selected device is not a touchscreen I understand这个问题。


1.可先行在驱动程序里打印触摸屏坐标值,确定触摸屏是好的。

2.错误信息肯定是在tslib的某个地方打印出来的,我们可以在Input-raw.c中找到。

3.if (! ((ioctl(ts->fd, EVIOCGVERSION, &version) >= 0) &&
(version == EV_VERSION) &&
(ioctl(ts->fd, EVIOCGBIT(0, sizeof(bit) * 8), &bit) >= 0) &&
(bit & (1 << EV_ABS)) &&
(ioctl(ts->fd, EVIOCGBIT(EV_ABS, sizeof(absbit) * 8), &absbit) >= 0) &&
(absbit & (1 << ABS_X)) &&
(absbit & (1 << ABS_Y)) && (absbit & (1 << ABS_PRESSURE)))) {
fprintf(stderr, "selected device is not a touchscreen I understand\n");
return -1;
}

可以看到只要有条件不满足就会打印出这句话。经对比发现版本号不一致。

编译器版本号 book@book-desktop:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/linux$ vim input.h   #define EV_VERSION              0x010000

内核版本号     book@book-desktop:/usr/include/linux$ vim input.h                                                                                           #define EV_VERSION              0x010001

修改任意一个使二者相同即可,修改时会提示文件为只读。

在其目录下使用sudo chmod 666 input.h  修改权限为可读可写即可。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_34138771/article/details/52369120
文章标签: 移植 触摸屏
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

tslib库移植selected device is not a touchscreen I understand

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭