五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

linux 系統(tǒng)編程 input子系統(tǒng)

2022-09-17 20:18 作者:GXTon_阿通  | 我要投稿

input子系統(tǒng)就是針對于各種輸入的一種框架.

框架可以認為是,一種實現(xiàn)方法,linux中有很多框架,很多子系統(tǒng).
比如之前沒有框架的時候,大家各寫各的,隨意定義函數(shù).
后來有個人寫的很好,得到認可,他寫的就是模板,大家都模仿他,之后他寫的代碼就是框架了.

輸入設(shè)備: 鼠標,鍵盤,觸摸屏 ...
輸入設(shè)備通用的特點就是,會向linux輸入數(shù)據(jù).
input子系統(tǒng)就是為了統(tǒng)一所有的交互設(shè)備而產(chǎn)生的.


它規(guī)定了輸入設(shè)備接入linux,linux識別后會在哪個文件中產(chǎn)生節(jié)點.
它規(guī)定了操作輸入設(shè)備的步驟.
它規(guī)定了輸入的數(shù)據(jù)會填充到哪個結(jié)構(gòu)體.

第一步: linux識別設(shè)備
操作目標之前,要知道設(shè)備在哪里.
基于input子系統(tǒng)注冊成功的輸入設(shè)備,都會在 /dev/input 目錄下生成相應(yīng)的設(shè)備節(jié)點(設(shè)備文件).設(shè)備節(jié)點名稱通常為eventX(X為0.1.2.3...).通過讀取這些設(shè)備節(jié)點,可以獲取輸入設(shè)備上報的數(shù)據(jù).

第二步: 打開設(shè)備
打開/dev/input/event0 設(shè)備文件;
獲取fd;

傳入兩個參數(shù)

第三步: 根據(jù)fd讀設(shè)備

應(yīng)用程序發(fā)起讀操作(譬如調(diào)用 read),刷新結(jié)構(gòu)體;
如果沒有數(shù)據(jù)可讀則會進入休眠(阻塞 I/O 情況下);?
當有數(shù)據(jù)可讀時,應(yīng)用程序會被喚醒,讀操作獲取到數(shù)據(jù)返回;

傳入三個參數(shù)

第四步: 獲取設(shè)備輸入數(shù)據(jù)
應(yīng)用程序從結(jié)構(gòu)體中得到輸入的數(shù)據(jù)。

獲得數(shù)據(jù)(在in_ev結(jié)構(gòu)體中)

如何獲取數(shù)據(jù):

每次read,都會刷新一下結(jié)構(gòu)體.

struct input_event.

該結(jié)構(gòu)體在<linux/input.h>中.

測試一個usb鍵盤程序.

1,首先是讓系統(tǒng)識別到usb鍵盤
把鍵盤按到linux板子上.
板子終端就會打印出信息.(表示板子已經(jīng)識別到usb鍵盤了)

可以查看ubs鍵盤對應(yīng)的設(shè)備節(jié)點,
使用命令: cat /proc/bus/input/devices

現(xiàn)象:
運行程序 ./testApp /dev/input/event3


鍵盤的上下左右,分別是:103, 108 ,105, 106


linux 系統(tǒng)編程 input子系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
登封市| 临洮县| 尚义县| 六盘水市| 新疆| 醴陵市| 雷州市| 封丘县| 右玉县| 丰台区| 民勤县| 邮箱| 昌都县| 南川市| 从化市| 庐江县| 朝阳县| 海安县| 宣汉县| 湘阴县| 哈尔滨市| 甘孜| 和平县| 乌兰浩特市| 郴州市| 合山市| 海兴县| 忻城县| 吴桥县| 普宁市| 安化县| 天等县| 峨眉山市| 金沙县| 满洲里市| 文昌市| 龙川县| 徐闻县| 叶城县| 永济市| 饶平县|