嵌入式LinuxQT操作自定義按鍵

2021-10-07 15:39:58 字數 694 閱讀 3497

嵌入式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...