1 #ifndef KEYWIDGET_H 2 #define KEYWIDGET_H 3 4 #include <QWidget> 5 #include "iwidget.h" 6 7 struct Key{ 8 QString name; 9 int code; 10 int state; 11 }; 12 class KeyWidget : public IWidget 13 { 14 Q_OBJECT 15 Q_PLUGIN_METADATA(IID PLUGIN_INTERFACE_iid FILE "key.json") 16 17 public: 18 explicit KeyWidget(QWidget *parent = nullptr); 19 ~ KeyWidget(); 20 virtual void loadData(const QDomElement &head, const QDomElement &body)override; 21 virtual QString id()override; 22 23 protected: 24 void paintEvent(QPaintEvent *e); 25 void resizeEvent(QResizeEvent *e); 26 27 private: 28 QString m_devName; 29 QList<Key> m_keys; 30 int m_fd; 31 }; 32 33 #endif // KEYWIDGET_H 34