文章目录
1 前言
在上一篇文章中主要对linux子系统的初步分析和使用步骤。本文章通过实现一个input设备驱动,进一步熟悉input驱动的开发步骤。首先来回顾一个input设备驱动的开发过程步骤。
【1】定义一个input指针,调用input_allocate_device
申请input device内存。
【2】设置input设备事件类型input_dev->evbit
,注册键值。
【3】如需操作事件回调方法,则需实现具体函数实例。
【4】调用input_register_device
注册input设备。
【5】事件传输,当该input 设备收到一个事件后(一般是通过中断触发),在中断处理函数中调用input_report
将该事件传输至具体的input_handler
,最后传输一个同步事件以表示结束。
2 虚拟input设备驱动
2.1 实现预期功能
- 实现一个按键(
EV_KEY
)input设备 - 通过在shell终端输入信息,模拟按键按下与释放;这里我们通过注册
sysfs