輸入子系統層次結構

2021-07-03 13:01:13 字數 679 閱讀 2834

輸入子系統事件處理層(

eventhandler)

輸入子系統核心層(inputcore)

輸入子系統裝置驅動層。

裝置節點

/dev/input

目錄下顯示的是已經註冊在核心中的裝置程式設計介面,使用者通過

open

這些裝置檔案來開啟不同的輸入裝置進行硬體操作。

事件處理層為不同硬體型別提供了使用者訪問及處理介面。例如當我們開啟裝置

/dev/input/mice

時,會呼叫到事件處理層的

mouse handler

來處理輸入事件,這也使得裝置無需關心裝置檔案的操作,因為

mouse handler

已經有了對應事件處理的方法。

核心層,為裝置驅動層提供了規範和介面。裝置驅動層只要關心如何驅動硬體並獲得硬體資料(例如按下的按鍵資料),然後呼叫核心層提供的介面,核心層會自動把資料提交給事件處理層。

裝置驅動層

,主要實現對硬體裝置的讀寫訪問,中斷設定,並把硬體產生的事件轉換為核心層定義的規範提交給事件處理層。

輸入子系統由核心**

drivers/input/input.c

構成,它的存在遮蔽了使用者到裝置驅動的互動細節,為裝置驅動層和事件處理層提供了相互通訊的統一介面。

kobject,kset,子系統層次結構

kobject,kset,子系統層次結構 核心通常用kobject 結構將各個物件連線起來組成乙個分層的結構體系。parent 是指向另外乙個kobject 結構 分層結構中上一層的節點 的指標,主要用途是在 sysfs 層次中定位物件.乙個 kset 是嵌入到相同型別結構的 kobject 的集合...

輸入子系統

驅動函式操作步驟 在初始化函式中 1.分配乙個input dev結構體 struct input dev buttons dev buttons dev input allocate device 2.設定 2.1 能產生哪類事件 set bit ev key,buttons dev evbit s...

Linux輸入子系統

1.1.input子系統概述 輸入裝置 如按鍵,鍵盤,觸控螢幕,滑鼠等 是典型的字元裝置,其一般的工作機制是低層在按鍵,觸控等動作發生時產生乙個中斷 或驅動通過timer定時查詢 然後cpu通過spi,i2c或者外部儲存器匯流排讀取鍵值,座標等資料,放乙個緩衝區,字元裝置驅動管理該緩衝區,而驅動的r...