荣品四核S5P4418开发板之按键驱动调试分析

2025-11-24 08:37:31

1、按键设备是平台设备,在按键驱动被注册时,系统调用probe函数,驱动将获得平台设备数据:在nxp_io_key.c                                                             

                   struct nxp_key_plat_data * plat = pdev->dev.platform_data;

平台设备数据:在device.c

荣品四核S5P4418开发板之按键驱动调试分析

2、按键对应的gpio和按键码定义在cfg_main.h 中

通过修改按键码可以可以实现按键不同的功能,当然还需要在按键驱动中断处理做适当的修改。

荣品四核S5P4418开发板之按键驱动调试分析

3、 按键驱动使用了input输入子系统,必须要定义 struct input_dev *input, 为其分配空间并且初始化,然后注册input

荣品四核S5P4418开发板之按键驱动调试分析

4、按键驱动,所以input事件类型一定支持按键类事件,设置按键类型的事件码。

input ->evbit[0] = BIT_MASK(EV_KEY);

上报事件后要同步,以确保系统收到上报的事件。

荣品四核S5P4418开发板之按键驱动调试分析

5、 还要完成android按键映射,这样系统才能识别到硬件按键在系统中按键,文件位置:

lollipop_2nd_release\device\nexell\s5p4418_drone\keypad_ s5p4418_drone.kl

                            key 114   VOLUME_DOWN       WAKE

                            key 115   VOLUME_UP         WAKE

                            key 116   POWER             WAKE

关于android按键映射,可以自行百度了解。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢