安卓下的gpio_key驱动

最近正在自学安卓驱动,看了key驱动后这里有几个问题 。
kernel层的话按键处理最后是提交给了input_handler处理 但处理完后是怎么发消息
给用户层的呢,即提供的接口在哪。正好最近又看到安卓中的HAL层,说是提供一个通用的硬件抽象借口供上层使用,那这里input系统与HAL是否有什么联系,还是说是两个独立的概念呢。

linux驱动由浅入深系列:输入子系统之二(编写一个gpio_key驱动)