輸入子系統由設備驅動層(input device driver),核心層(input core)和事件驅動層(event driver)三部份組成。任何一次輸入事件,如鼠標移動,按編程
鍵按下,都須要經過InputDeviceDriver->InputCore->EventDrive才能到達用戶空間的應用程序。架構
l 設備驅動層:設計
將底層的硬件輸入轉化爲統一事件型式,向輸入核心(InputCore)彙報。接口
l v輸入核心層:事件
爲設備驅動層提供輸入設備註冊與操做接口,如:input_register_device;通知事件處理層對事件進行處理;input
l 事件驅動層:event
主要做用是和用戶空間交互,如提供read,open等設備方法,建立設備文件等。程序設計
輸入型設備驅動;輸入型按鍵驅動原理
附錄硬件
事件類型:
EV_RST Reset EV_KEY 按鍵
EV_REL 相對座標 EV_ABS 絕對座標
EV_MSC 其它 EV_LED LED
EV_SND 聲音
EV_REP Repeat
EV_FF 力反饋
當事件類型爲EV_KEY時,還需指明按鍵類型:
BTN_ LEFT:鼠標左鍵 BTN_0:數字0鍵
BTN_RIGHT:鼠標右鍵 BTN_1:數字1鍵
輸入型設備註冊