- 16
- 0
- 约7.77千字
- 约 10页
- 2016-11-18 发布于河南
- 举报
Linux input 子系统详解与代码示例
李邦柱于杭州2014/01/09
Email:helpylee@126.com
由于linux 的驱动模型增加了input层,导致几乎所有的底层驱动都把数据封装在event里上报给input子系统。由此看来,这种改变让kernel 更具有模块化,各个模块的耦合度更低了。
下面我们一起来研究input 层^_^
从用户层的角度看input(event 事件)
了解linux的人一定会对/dev,/ sys, /proc这几个目录有所印象,这是从内核导出到用户层的接口(从这里几乎可以观览内核)。kernel为我们导出了input在用户态的接口,就是/dev/input/下的接口,所以我们只关注这个目录下的event*(event0/event1/……)字符设备。
那么这些event*是干什么用的?简单来说就是我们对计算机的输入(包括敲击键盘,移动鼠标等等操作)经过内核(底层驱动,input)处理最后就上报到这些event*里面了。
而这里event0,event1,..就是用来区分各个外设的,可以通过命令来查看外设具体和哪个event相关联: 这个命令是:cat /proc/bus/input/devices
所以我们用此命令在linux系统查看外设信息。
在linux/input.h中有这些数据的结构:
struct input_
原创力文档

文档评论(0)