嵌入式LinuxQT操作自定義按鍵

嵌入式Linux系統中,用QT做的應用層程序,需要檢測自定義的按鍵狀態。使用的QT的按鍵事件,驅動層使用的Linux的input子系統。環境如下:
硬件:Imx6ull
QT版本:5.5
在QT中使用按鍵事件檢測按鍵狀態基本上由三部分工作組成:1、驅動層;2、環境變量;3應用層
1、驅動層
首先開起Linux內核自帶的按鍵驅動,(一般內核默認使能了按鍵驅動)然後在設備樹中添加按鍵信息,並綁定按鍵碼,我的設備樹配置如下:
按鍵設備樹配置
2、環境變量
由於驅動層用的是Linux input子系統,所以需要告訴QT是何輸入驅動事件爲按鍵事件。查看目標板 /dev/input 下內容,我的如下
inpu
可能並不知道哪一個文件,對應的是按鍵事件,可以通過 hexdump eventX ,並觸發按鍵來判斷,也通過此方式檢查驅動層是否正常。
確定按鍵事件的文件後,在目標板的/etc/profile文件中添加如下內容:
在這裏插入圖片描述
3、應用層
應用層頭文件中包含,然後重寫對應的按鍵函數就行,我的實驗用例如下
主窗口.h中
在這裏插入圖片描述
在這裏插入圖片描述
主窗口.cpp中:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章