|
鼠标设备接口这一基类QWSMouseHandler的实现位于src/embedded/qmouse_qws.cpp中。与2.x版本系列不同的是,3.x中所有的Linux触摸屏示例接口代码均实现在src/embedded/qmouselinuxtp_qws.cpp中的QWSLinuxTPMouseHandler类中。其中对于不同型号的触摸屏的接口实现代码,采用不同的宏定义和预编译的方式把它们分隔开。笔者还通过从QWSLinuxTPMouseHandler中继承自身触摸屏接口类,替代原有的QWSLinuxTPMouseHandlerPrivate类,而在QWSLinuxTPMouseHandler生成自身触摸屏接口对象的方式,较好地把移植部分的代码与原有比较混乱的代码分隔开来。
3.x中键盘接口基类们于src/embedded/qkbd_qws.cpp中,为QWSKeyboardHandler。实现I2C总线扩展出的16键键盘接口类方式与触摸屏类似,此处不多述。需要注意的是,Qt/Embedded提供了事件过滤器(key event filter)的接口,在键盘点击事件从QWSServer截获并发送到相应的client之前会经过函数QWSServer::KeyboardFilter。在此函数中可以按照自身需求生成新的键盘点击事件,而后利用QWSServer::sendKeyEvent()发送新的点击事件到client中。利用该方式可以把各种键盘点击无法输入的unicode字符转换出来,从而可以在较少的按键键盘上实现多unicode字符输入法。Qt/Embedded 3.x键盘接口的移植与鼠标设备接口类似,此处不多述。
3 总结
随着嵌入式处理器运算能力的不断提高,对外设支持的不断丰富,嵌入式Linux系统的应用也逐渐增多。Qt/Embedded延续了Qt在桌面系统的所有功能,丰富的API接口和基于组件的编程模型使得嵌入式Linux系统中的应用程序开发更加便捷。由于Qt/Embedded本身面向高端的手持设备和移动设备,把成为未来嵌入式系统的主要GUI。
共3页: 上一页 [1] [2] 3 下一页
|