天天看點

Linux的input子系統分析

Linux下的Input子系統主要任務是處理輸入事務,任何輸入裝置的驅動程式都可以通過Input子系統提供的接口注冊到核心,利用子系統提供的統一資料接口與使用者空間互動。

一、linux的input子系統架構

Linux的input子系統分析
Linux的input子系統分析

Ø 輸入裝置(input device)

指具體硬體裝置,如:滑鼠、鍵盤、觸摸屏等。

Ø 輸入裝置驅動(input device driver)

該部分就是作為linux驅動開發者需要設計的部分,驅動開發者需要為具體的輸入裝置編寫合适的驅動程式。

Ø Input子系統核心(inputcore)

由Linux核心提供,子系統核心是連結其他兩層的紐帶和橋梁,向下提供驅動層接口,向上提供事件處理層接口。

Ø Input 事件處理層(input event Hander)

由Linux核心提供,負責和使用者程式打交道,将硬體驅動層傳來的事件以統一的資料格式(struct input_event)報告給使用者程式。

Ø 應用層

應用程式可以通過讀取相應“裝置檔案”(/dev/input/eventx)來擷取輸入事件值。

二、input裝置驅動開發

在Linux系統中,input核心層和input事件處理層已經為我們做了很多事情,而作為驅動開發者,隻需調用input核心層為我們提供的程式設計接口,就可以輕松完成輸入裝置驅動開發。以下是輸入裝置驅動開發的标準流程:

Linux的input子系統分析
上一篇: ZCMU—1800

繼續閱讀