input子系統的框架
input子系統分為三個部分:1.input核心層 2.input_device 3.input_handler
input核心層的任務是1.建立主裝置號 2.建立file operation結構體·3.註冊 裝置4.準備入口、出口
其中input準備的file operation中只有乙個open函式,這個open函式指向的是input_handler中的·成員fops(是乙個handler準備的函式集)
input_device和input_handler向input核心層註冊,並把他們分別置於各自的鍊錶之中,鍊錶中的每乙個input_handler都會呼叫input_attach_handler函式,這個函式會input_device的鍊錶中自己的id_table是否支援這個某個input_dev,如果支援input_device和input_handler會呼叫input_handler中的connect函式,此時會生成乙個input_handle的結構體input_handle中有指向device鍊錶和handler鍊錶的成員,並且在二者的鍊錶中分別增加乙個list_device或list_handler的成員指向的就是input_haandle中對方的成員,從而建立了連線。
這就是input子系統的基本的框架
input子系統五 總結框架
通過前面的學習,我們可以看到輸入子系統可以分為三大塊 input核心層 input handler層 input裝置層 input核心層的主要功能主要有以下幾點 1 提供函式介面比如 input裝置和input handler的註冊函式 2 申請和維護子系統需要的一些資源 裝置鍊錶和handler鍊...
Linux的input輸入子系統 總體框架
一 input輸入子系統總體框架 linux輸入子系統將輸入驅動抽象為三層 裝置驅動層 核心層 事件處理層。裝置驅動層 將底層的硬體輸入事件轉化為統一事件形式,向輸入核心 input core 匯報。核心層 承上啟下。為驅動提供裝置和驅動註冊等操作的函式介面。事件處理層 和使用者層互動,提供裝置的r...
Linux下 INPUT子系統
1.申請input dev結構體變數 在編寫 input 裝置驅動的時候我們需要先申請乙個 input dev 結構體變數,使用input allocate device 函式來申請乙個 input dev 函式原型 struct input dev input allocate device vo...