乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android Event輸入設(shè)備驅(qū)動(dòng)

       wanwanstudy 2012-02-13
      /*
      * J.
      * Fri Oct 29,2010
      */
      Input驅(qū)動(dòng)程序是Linux輸入設(shè)備的驅(qū)動(dòng)程序,分成游戲桿(joystick),鼠標(biāo)(mouse和mice)
      和事件設(shè)備(Event queue)3種驅(qū)動(dòng)程序。其中事件驅(qū)動(dòng)程序是目前通用的驅(qū)動(dòng)程序,可支持
      鍵盤,鼠標(biāo),觸摸屏等多種輸入設(shè)備。

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

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

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

      Event輸入驅(qū)動(dòng)的架構(gòu)如下:



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

      input.h中定義了struct input_dev結(jié)構(gòu),它表示Input驅(qū)動(dòng)程序的各種信息,對(duì)于Event
      設(shè)備分為同步設(shè)備,鍵盤,相對(duì)設(shè)備(鼠標(biāo)),絕對(duì)設(shè)備(觸摸屏)等。

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

      具體的Event驅(qū)動(dòng)程序需要定義struct input_dev結(jié)構(gòu)體,并且通過input_register_device()
      函數(shù)進(jìn)行注冊(cè)。

      Input設(shè)備驅(qū)動(dòng)在內(nèi)核進(jìn)行menuconfig配置時(shí),配置選項(xiàng)為"Device Drivers" > "Input Device Drivers"

      Event驅(qū)動(dòng)程序配置對(duì)應(yīng)的文件是driver/input/Kconfig
      其中,Event的配置選項(xiàng)是Event Interface,各個(gè)具體設(shè)備的接口在各自下面進(jìn)行支持。

      Android中使用Event驅(qū)動(dòng)作為標(biāo)準(zhǔn)的輸入設(shè)備,在GUI系統(tǒng)中打開Event驅(qū)動(dòng)程序的設(shè)備節(jié)點(diǎn),
      通常的輸入設(shè)備是鼠標(biāo)和觸摸屏。

      備: Android由init進(jìn)程在/dev/input/自動(dòng)建立Event設(shè)備的節(jié)點(diǎn),被libui庫調(diào)用作為
      系統(tǒng)的輸入。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多