Linux核心驅動之Input子系統裝置驅動層

2021-06-08 21:07:27 字數 658 閱讀 5508

android、x windows、qt等眾多應用對於linux系統中鍵盤、滑鼠、觸控螢幕等輸入裝置的支援都通過、或越來越傾向於標準的input輸入子系統。

因為input子系統已經完成了字元驅動的檔案操作介面,所以編寫驅動的核心工作是完成input系統留出的介面,工作量不大。但如果你想更靈活的應用它,就需要好好的分析下input子系統了。  

、input輸入子系統框架

下圖是input輸入子系統框架,輸入子系統由輸入子系統核心層(

input core 

),驅動層和事件處理層(

event handler

)三部份組成。乙個輸入事件,如滑鼠移動,鍵盤按鍵按下,

joystick

的移動等等通過

input driver -> input core -> event handler -> userspace 

到達使用者空間傳給應用程式。

注意:keyboard.c不會在/dev/input下產生節點,而是作為ttyn終端(不包括串列埠終端)的輸入。

下圖展現了linux中輸入裝置驅動的分層

Linux裝置驅動之 input子系統

什麼是input input子系統處理輸入事務,任何輸入裝置的驅動程式都可以通過input輸入子系統提供的介面註冊到核心,利用子系統提供的功能來與使用者空間互動。輸入裝置一般包括鍵盤,滑鼠,觸控螢幕等,在核心中都是以輸入裝置出現的。下面分析input輸入子系統的結構,以及功能實現。linux中inp...

Linux驅動之input輸入子系統

input輸入子系統在實際專案中用的也比較多,按鍵,觸控螢幕,滑鼠,鍵盤等,用來實現核心層和應用層資料之間的傳遞,這裡得說明不只有input,還有copy to user等,利用input的好處是我們用自己上傳資料到應用程式,我們直接上報這個事件發生了,input自帶的機制會實現上傳的功能。還有很多...

Linux核心之字元裝置驅動

學習計畫 1.vfs 虛擬檔案系統 vfs的作用就是採用標準的unix系統呼叫讀寫位於不同物理介質上的不同檔案系統。vfs是乙個可 以讓open read write 等系統呼叫不用關心底層的儲存介質和檔案系統型別就可以工作的 粘合層。在古老的dos作業系統中,要訪問本地檔案系統之外的檔案系統需要使...