在此节之前,我们学的都是简单的字符驱动,涉及的内容有字符驱动的框架、自动创建设备节点、linux中断、poll机制、异步通知、同步互斥/非阻塞、定时器去抖动。...这个思想不仅存在于输入子系统,其他子系统也是一样(比如:usb子系统、video子系统等)
所以我们先来分析下输入子系统input.c的代码,然后怎么来使用输入子系统(在内核中以input来形容输入子系统...只有一个.open函数,显然输入子系统就是通过这个函数来实现输入设备的驱动,接下来我们以按键驱动为例来分析这个函数。...当有事件发生了,比如对于按键驱动,当有按键按下时,就会进入.event函数中处理事件
11分析下,是谁调用evdev_event()这个.event事件驱动函数
应该就是之前分析的input_dev那层调用的...12本节总结分析:
1.注册输入子系统,进入put_init():
1)创建主设备号为13的"input"字符设备
err = register_chrdev(INPUT_MAJOR, "input",