Qt Embedded 键盘驱动分析(下)
键盘驱动插件究竟是怎么工作的呢?怎么才能让它来响应板子上的按键消息呢?这些疑问需要分析一个完整的键盘处理插件才能回答,下面我们就来看看最基本的pc101这个键盘插件是怎么实现的吧。首先,说到插件, 先要实现一个插件的框架,这个框架的代码要遵循Qt中的插件规范,还要符合键盘驱动插件的特点。 听起来很难?呵呵,其实非常简单, 只有两个函数需要自己实现。 涉及的代码: 键盘plugin框架:src/plugins/kbddrivers/usb/main.cpp 键盘driver handler的实现:src/gui/embedded/qkbdusb_qws.cpp 实现插件框架 main.cpp class QUsbKbdDriver : public QKbdDriverPlugin { public: QUsbKbdDriver(); QStringList keys() const; QWSKeyboardHandler* create(const QString &driver, const QString &device); }; keys就是返回当前driver插件的键值,只要不和其他插件键值冲突就行。create返回你实现的QWSKeyboardHandler派生类的实例。 实现键盘处理实例 qkbdusb_qws.h class QWSUsbKeyboardHandler