天天看點

【原理】Linux 基礎系列之 input 子系統淺析問題一:input子系統是什麼?問題二:input子系統架構是什麼?問題三:驅動流程是什麼?

問題一:input子系統是什麼?

為輸入裝置(按鍵、鍵盤、觸摸屏)的驅動規範完成上報輸入資訊任務的子系統,本質上input子系統是對字元裝置驅動的一種封裝。

input子系統在底層實作了file_operations這一套機制而不用我們去填充結構體。

比如我們手機上的觸摸屏(稱之為TP),驅動核心就是一個input子系統。

input子系統在驅動中不是必須的,它的存在隻是規範了上報輸入資訊這一任務,減少驅動與應用開發工程師的溝通成本。input子系統是輸入裝置驅動一個标準,一個約定俗成的規範,幾乎所有輸入裝置驅動都是使用input來上報輸入資訊的。

問題二:input子系統架構是什麼?

三個層:

【原理】Linux 基礎系列之 input 子系統淺析問題一:input子系統是什麼?問題二:input子系統架構是什麼?問題三:驅動流程是什麼?

驅動資料流:

【原理】Linux 基礎系列之 input 子系統淺析問題一:input子系統是什麼?問題二:input子系統架構是什麼?問題三:驅動流程是什麼?

問題三:驅動流程是什麼?

定義input_dev結構體 -->

申請input_dev記憶體空間并初始化 -->

填充input_dev成員 -->

向core注冊一個input_dev -->擷取按鍵并上報

繼續閱讀