上一篇文章中介绍了input_dev和handler的匹配过程,input_dev的属性是在设备驱动程序中设定
的,调用input_device_register向input_core注册。那么对于handler的注册是发生在时间处理层的
,在input目录下有evdev.c,joydev.c,mousedev.c等事件驱动程序。下面介绍与触摸有关的evdev
事件处理源码;
static int __init evdev_init(void)
{
return input_register_handler(&evdev_handler);
源码中,首先就像input_core注册handler,先看看evdev_handler这个结构体是什么
}
evdev_handler源码:
static struct input_handler evdev_handler = {
.event = evdev_event, //当有event事件从底层上报到事件处理层中,会调用这个