为了对多种不同类别的输入设备(如键盘鼠标跟踪球.ppt

为了对多种不同类别的输入设备(如键盘鼠标跟踪球.ppt

为了对多种不同类别的输入设备(如键盘鼠标跟踪球

为了对多种不同类别的输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加 速计和手写板)进行统一处理,内核在字符设备驱动上抽象出的一层,也就是我 们前面说到输入子系统层。 输入子系统由两类驱动程序组成:事件驱动程序和设备驱动程序。 事件驱动程序负责处理和应用程序的接口,它向应用程序提供简单的、统一的事 件接口;设备驱动程序负责和底层输入设备的通信。 注意: 事件驱动程序是标准的,对所有的输入类都是可用的,所以,我们不需要实现事 件驱动,因为内核里边已经支持所有的事件驱动;我们需要实现的是输入设备驱 动程序。 在Linux中,Input设备用input_dev结构体描述,定义在input.h中。设 备的驱动只需按照如下步骤注册就可以了。 (1)分配一个struct input_dev; (2)初始化input_dev这个结构体(以触摸屏为例) (3)注册这个input_dev设备 (4)在Input设备发生输入操作时(如:键盘被按下/抬起、触摸屏被触摸/抬起/移动、鼠标被移动/单击/抬起时等),提交所发生的事件及对应的键值/坐标等状态。(以触摸屏提交坐标值为例) Linux中输入设备的事件类型: EV_SYN 0x00 同步事件 EV_KEY 0x01 按键事件 EV_REL 0x02 相对坐标(如:鼠标移动,报告的是

文档评论(0)

1亿VIP精品文档

相关文档