嵌入式linux系統中,用qt做的應用層程式,需要檢測自定義的按鍵狀態。使用的qt的按鍵事件,驅動層使用的linux的input子系統。環境如下:
硬體:imx6ull
qt版本:5.5
在qt中使用按鍵事件檢測按鍵狀態基本上由三部分工作組成:1、驅動層;2、環境變數;3應用層
1、驅動層
首先開起linux核心自帶的按鍵驅動,(一般核心預設使能了按鍵驅動)然後在裝置樹中新增按鍵資訊,並繫結按鍵碼,我的裝置樹配置如下:
2、環境變數
由於驅動層用的是linux input子系統,所以需要告訴qt是何輸入驅動事件為按鍵事件。檢視目標板 /dev/input 下內容,我的如下
可能並不知道哪乙個檔案,對應的是按鍵事件,可以通過 hexdump eventx ,並觸發按鍵來判斷,也通過此方式檢查驅動層是否正常。
確定按鍵事件的檔案後,在目標板的/etc/profile檔案中新增如下內容:
3、應用層
應用層標頭檔案中包含,然後重寫對應的按鍵函式就行,我的實驗用例如下
主視窗.h中
主視窗.cpp中:
嵌入式開發自定義型別巨集
typedef signed char int8 typedef signed short int16 typedef signed int int32 typedef unsigned char uint8 typedef unsigned short uint16 typedef unsigne...
嵌入式Linux QT開發教程 開發環境準備
要進行嵌入式linux qt的開發,需要做好幾件準備工作 通常就是基於arm處理器的嵌入式硬體裝置。我們選linux系列的ubuntu16.04。因為我們多用於windows作業系統,所以需要選虛擬機器。虛擬機器主流是2種,2種虛擬機器各有利弊 1 vmware虛擬機器 ubuntu16.04 2 ...
嵌入式Linux ARM GPIO操作
gpio general purpose i o ports 意思為通用輸入 輸出埠,通俗的說就是一些引腳。我們可以通過它們輸出高低電平 或 讀入引腳的狀態。s3c2440中有130個i o埠,分為a j共9組,gpa gpb gpj 既然要操作gpio,必須對相應的暫存器進行操作,2440中gpi...