第一个参数项是目标库名字去除任意扩展符、前缀或者版本号之后的基本名。第二个参数则是插件的类名。
第二个要实现的类是处理类MyKeyboardHandler,这个类需要继承QWSKeyboardHandler类。当键盘驱动捕获到键盘数据时,系统会通过套接字监听键盘信息,并在MykeyboardHandler::readKbdData()中对捕捉到的扫描数据进行处理并封装,然后向服务器端发送键盘事件。
①打开键盘设备并初始化,一般调用open()函数。

②监控键盘设备,调用QScoketNotifier监控键盘设备kbdFd。
③发生键盘事件时读取键盘事件,读取键盘事件后将键值、按下等信息翻译成Qt内部键盘事件的格式,并通过调用processKeyEvent将事件分发出去。

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 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术