免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Android Event輸入設備驅(qū)動
/*
* J.
* Fri Oct 29,2010
*/
Input驅(qū)動程序是Linux輸入設備的驅(qū)動程序,分成游戲桿(joystick),鼠標(mouse和mice)
和事件設備(Event queue)3種驅(qū)動程序。其中事件驅(qū)動程序是目前通用的驅(qū)動程序,可支持
鍵盤,鼠標,觸摸屏等多種輸入設備。

Input驅(qū)動程序的主設備號是13,3種驅(qū)動程序的設備號分配是:
*joystick游戲桿:0~61;
*mouse鼠標:33~62;
*mice鼠標:63;
*事件設備(Event queue):64~95.
實際上,每一種Input設備占用5位,因此每種設備個數(shù)是32個。

Event設備在用戶空間大多使用read,ioctl,poll等文件系統(tǒng)的接口進行操作,read用于讀取
輸入信息,ioctl用于獲取和設置信息,poll調(diào)用可以進行用戶空間的阻塞,當內(nèi)核有按鍵等中斷
時,通過在中斷中喚醒poll的內(nèi)核實現(xiàn),這樣在用戶空間的poll調(diào)用也可以返回。

Event設備在文件系統(tǒng)中的設備節(jié)點為:/dev/input/eventX.
主設備號為13,次設備號遞增生成,為64~95,各個具體的設備在misc,touchscreen,keyboard等
目錄中。

Event輸入驅(qū)動的架構如下:



Input驅(qū)動程序的頭文件:include/linux/input.h
Input驅(qū)動程序的核心和Event部分代碼:
* drivers/input/input.c   核心代碼
* drivers/input/evdev.c   Event部分的實現(xiàn)

input.h中定義了struct input_dev結構,它表示Input驅(qū)動程序的各種信息,對于Event
設備分為同步設備,鍵盤,相對設備(鼠標),絕對設備(觸摸屏)等。

Event驅(qū)動程序通過Input驅(qū)動程序的統(tǒng)一函數(shù)進行注冊:
int __must_check input_register_device(struct input_dev *);

具體的Event驅(qū)動程序需要定義struct input_dev結構體,并且通過input_register_device()
函數(shù)進行注冊。

Input設備驅(qū)動在內(nèi)核進行menuconfig配置時,配置選項為"Device Drivers" > "Input Device Drivers"

Event驅(qū)動程序配置對應的文件是driver/input/Kconfig
其中,Event的配置選項是Event Interface,各個具體設備的接口在各自下面進行支持。

Android中使用Event驅(qū)動作為標準的輸入設備,在GUI系統(tǒng)中打開Event驅(qū)動程序的設備節(jié)點,
通常的輸入設備是鼠標和觸摸屏。

備: Android由init進程在/dev/input/自動建立Event設備的節(jié)點,被libui庫調(diào)用作為
系統(tǒng)的輸入。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
圖解Android
【驅(qū)動】input子系統(tǒng)整體流程全面分析(觸摸屏驅(qū)動為例)
Android用戶輸入系統(tǒng)結構和移植內(nèi)容
input subsystem
android跨進程事件注入(程序模擬用戶輸入)
Linux輸入子系統(tǒng)分析
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服