国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.hkzrsy.com/bbs/index.asp)
--  Linux驅(qū)動(dòng)開發(fā)  (http://www.hkzrsy.com/bbs/list.asp?boardid=33)
----  基于嵌入式Linux的矩陣鍵盤驅(qū)動(dòng)程序研究與開發(fā)  (http://www.hkzrsy.com/bbs/dispbbs.asp?boardid=33&id=1706)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-11-24 9:35:07
--  基于嵌入式Linux的矩陣鍵盤驅(qū)動(dòng)程序研究與開發(fā)

  另外,鍵盤又屬于輸入設(shè)備,Linux內(nèi)核提供了輸入子系統(tǒng),如鍵盤、觸摸屏、鼠標(biāo)等輸入設(shè)備都可以利用輸入子系統(tǒng)的接口函數(shù)來(lái)實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)[4]。輸入子系統(tǒng)由核心層(Input Core)、驅(qū)動(dòng)層和事件處理層(Event Handler)三部分組成[9]。在Linux內(nèi)核中,使用輸入子系統(tǒng)實(shí)現(xiàn)輸入設(shè)備驅(qū)動(dòng)的時(shí)候,驅(qū)動(dòng)的核心工作是向系統(tǒng)報(bào)告按鍵、觸摸屏、鼠標(biāo)等輸入事件,而不再需要關(guān)心文件操作接口,因?yàn)檩斎胱酉到y(tǒng)已經(jīng)完成了文件操作接口。通過(guò)輸入子系統(tǒng),實(shí)現(xiàn)輸入設(shè)備驅(qū)動(dòng)時(shí)只需要完成以下工作:

  (1)在模塊加載函數(shù)中告知輸入子系統(tǒng)輸入設(shè)備可以報(bào)告的事件。例如,可通過(guò)__set_bit(EV_KEY,input_dev->evbit)來(lái)告知輸入子系統(tǒng)該設(shè)備可報(bào)告按鍵事件。

  (2)在模塊加載函數(shù)中注冊(cè)輸入設(shè)備。注冊(cè)函數(shù)為:int input_register_device(struct input_dev *dev);

  (3)當(dāng)有輸入事件發(fā)生時(shí),如按鍵按下/抬起、觸摸屏被觸摸/抬起/移動(dòng)時(shí),通過(guò)input_report_xxx()報(bào)告發(fā)生的事件及對(duì)應(yīng)的鍵值、坐標(biāo)等狀態(tài)。主要的事件類型包括EV_KEY(按鍵事件)、EV_REL(相對(duì)值,如鼠標(biāo)移動(dòng),報(bào)告相對(duì)于最后一次位置的偏移)和EV_ABS(絕對(duì)值,如觸摸屏)。


主站蜘蛛池模板: 西乌珠穆沁旗| 栾川县| 石楼县| 连城县| 柳江县| 泰顺县| 开江县| 五常市| 镇平县| 永嘉县| 德阳市| 定州市| 剑河县| 长寿区| 陇南市| 广灵县| 台江县| 东阳市| 阿巴嘎旗| 屯留县| 三都| 天全县| 泰来县| 本溪| 凯里市| 江源县| 金昌市| 车致| 柳林县| 嵊州市| 蕲春县| 桓台县| 陆河县| 兴国县| 中山市| 南昌市| 财经| 清新县| 馆陶县| 渑池县| 广昌县|