您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术嵌入式Linux中基于Qt/Embedded的键盘接口设计 正文
嵌入式Linux中基于Qt/Embedded的键盘接口设计

嵌入式Linux中基于Qt/Embedded的键盘接口设计

点击数:7138 次   录入时间:03-04 11:47:25   整理:http://www.55dianzi.com   嵌入式系统-技术
    第一个参数项是目标库名字去除任意扩展符、前缀或者版本号之后的基本名。第二个参数则是插件的类名。
    第二个要实现的类是处理类MyKeyboardHandler,这个类需要继承QWSKeyboardHandler类。当键盘驱动捕获到键盘数据时,系统会通过套接字监听键盘信息,并在MykeyboardHandler::readKbdData()中对捕捉到的扫描数据进行处理并封装,然后向服务器端发送键盘事件。
    ①打开键盘设备并初始化,一般调用open()函数。
g.JPG
    ②监控键盘设备,调用QScoketNotifier监控键盘设备kbdFd。
k.jpg

    ③发生键盘事件时读取键盘事件,读取键盘事件后将键值、按下等信息翻译成Qt内部键盘事件的格式,并通过调用processKeyEvent将事件分发出去。
l.jpg
5 键盘插件在应用程序中的使用
    将键盘插件编译后生成一个libkeyboard.so的动态库,这个动态库的名字是由Q_EXPORT_PLUGIN2宏的第一个参数决定的。派生插件默认存储在标准插件目录下的子目录中,如果它们没有存储在正确的目录下Qt不会找到这些插件,所以要在使用的文件系统中创建Qt的标准插件目录。
    要想应用程序在启动的时候能够正确加载键盘插件还要设置嵌入式Linux系统中的环境变量:
    QWS_KEYBOARD=MyKeyHandler:/dev/kbd
    MyKeyHandler对应着key()函数中的键值,kbd是在/dev文件夹下的键盘设备文件。Qt应用程序开始运行后要根据 QWS_KEYBOARD这个环境变量创建一个MyKeyboardHandler类。窗口部件响应服务器分发的键盘事件还要重新实现如下函数。

}
 



上一页  [1] [2] 


本文关键字:嵌入式  接口  键盘  Linux  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术