【应用开发三】 input子系统介绍

1 名词解释

1)输入设备:能够产生输入时间的设备,例如鼠标、键盘、触摸屏等
2)input子系统:用于统一管理linux中所有输入设备的框架。

2 输入设备编程框架

2.1 input子系统

上面介绍input子系统是一套统一的输入设备框架。驱动开发人员基于input子系统开发设备驱动,input子系统可以屏蔽硬件差异,向应用层提供统一接口。
基于input子系统注册成功的输入设备,都会在/dev/input目录下生成对应的设备节点,设备节点名称通常为eventX(X为数字编号0、1等)。具体那个设备对应那个编号需要查找。

确定设备文件
使用od命令

sudo od -x /dev/input/eventX

2.2 读取数据流程

1)打开设备文件(/dev/input/eventX
2)读数据(read
3)数据解析

  1. 打开设备文件
    使用open函数 打开设备文件,操作类型为O_RDONLY
  2. 读取数据
    数据读取时会有两种情况,一个是有数据,一个是没有数据。
    当有数据可读取的时候,应用程序会被唤醒,读操作获取数据返回;
    当没有数据可读的时候,程序会进入休眠模式(阻塞I/O情况下)
  3. 解析数据
    读取到的数据会放在input_event类型的结构体中,该结构体定义在<linux/input.h>头文件中,结构体成员变量以及具体解析形式在下面介绍。

2.3 input_event结构体

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值