
有触摸屏vid,pid,版本等,以及ABS表示触摸屏的绝对坐标掩码,掩码上面表示16进制,其中为1的比特的位置就表示触摸屏会报告这一类型的事件,前面bit0和bit1以及bit24为1,那么看linux/input.h文件就表示事件code码有ABS_X=0x00 , ABS_Y=0x01, ABS_PRESSURE=0x18,这三个分别表示触摸屏报告触摸的x坐标,y坐标,以及按下和松开。但是不同的触摸屏的x,y坐标的范围不一定,所以需要通过input_absinfo结构体去记录得到触摸屏的绝对值信息。
linux下面你的应用程序read读取出来的是驱动程序中通过内核返回给你的值。如果你想让鼠标和触摸屏的设备文件读出来是坐标或者是别的什么,你需要更改驱动程序,让驱动返回给你你想要的值,在驱动中使用copy_to_user这个函数就可以了,或者自己测试一些。因为我并没有试过直接去读鼠标等设备文件,但是原理这样的。很多方法吧。。首先你要明白校准的原理,你的触摸屏和你的显示屏实质上是没有关系,所谓校准就是让屏幕上的某点和触摸屏的某点形成关系,这个关系所需要的就是几个关系系数,其实就是一个多元一次方程组,通过采集多点来求解这个方程组就求出了关系系数。这样底层驱动传上来触摸屏坐标后,系统就会自动转换成屏幕的坐标。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)