小弟现在在搞一个Linux下的触摸屏驱动,现有如下几个问题请教,恳请指点,谢谢!
要求:触摸屏通过USB口接到开发板(S3C2440为主芯片的)上,当用笔在触摸屏上滑动时,有一个鼠标箭头在开发板屏幕的相应位置显示;
问题:
1.要实现要求的功能需要哪些驱动?除了USB驱动,触摸屏驱动外还有吗?
2.要在开发板的屏幕显示一个鼠标,那就必须要在Qt或别的图形界面下显示对吗?
3.如果要在Qt下显示鼠标,是不是将触摸屏的数据作为Qt的鼠标输入来实现?
4.看了宋宝华的《Linux设备驱动开发详解》中的“触摸屏的设备驱动”那节内容,其中的结果是将触点的位置(X,Y坐标)数据读出来,是不是要将这个坐标数据送到Qt的相关函数中经过处理实现一个鼠标箭头的显示?
1、除了USB驱动外,还需要另外写触摸屏驱动。USB驱动负责和设备进行通讯,触摸屏设备驱动负责驱动触摸屏硬件,并将数据以合适的标准传递给Kernel或应用程序
2、一般情况下是需要在Qt或其他图形界面下显示。这些图形界面已经实现了相关代码,不需要再开发画鼠标的代码。当然,如果你自己想实现一个图形界面,则需要自己开发画鼠标的代码。
3、Qt支持TSlib标准的触摸屏设备或者使用linuxtp标准的触摸屏设备。你可以将你的USB接口的触摸屏驱动写成符合以接待方案 上标准的。
4、同上,你写的触摸屏的驱动程序只要符合Qt的标准(也就是数据格式),就可以了。Qt将自动读取相关触摸屏设备的数据来处理鼠标箭头的显示。
另:为了让Qt知道是哪个触摸屏设备,一般用如下类似的命令:
export QWS_MOUSE_PROTO="linuxtp:/dev/ts"(编译Qt时要加上-qt-mouse-linuxtp的选项)
.我所需要的USB接口的触摸屏驱动程序,应该包括两个部分:USB设备作为USB总线上挂载设备的驱动和设备本身所属设备类型的驱动,其中前者就是wwwunix回答中的“USB驱动”,而后者就是wwwunix所说的“触摸屏设备驱动”?
2.想要在Qt中显示触摸屏触点位置的鼠标箭头,必须在编写上述1中所说的“设备本身所属设备类型的驱动”时符合Tslib标准,而上述1中的“USB驱动”则不需要?
3.在按照上述2的方法编写了“设备本身所属设备类型的驱动”后,就达到wwwunix在他的回答4中所说的“你写的触摸屏的驱动程序只要符合Qt的标准(也就是数据格式)”的要求了,就可以在Qt中显示鼠标了?
、正确
2、如果你是通过USB连接的,则还是需要USB驱动的。USB驱动作为数据通讯的基础。
3、正确。(不过,如果是通过USB连接的,还是需要USB驱动)