更多源码分析请访问:LVGL 源码分析大全
1、分析原因
LVGL中对输入设备的管理是单例实现的,而在Linux的输入设备是多个的,所以需要对其进行改造成多例实现。
2、源码分析
在开源的源码中,输入设备的实现放在lv_drivers/indev/evdev.c中。显然,其数据直接放在一个全局变量中(这个是没有必要的,应是原作者未考虑作用域的问题),这导致本份代码成为单例实现。相关代码如下:
int evdev_fd = -1;
int evdev_root_x;
int evdev_root_y;
int evdev_button;
本文分析了LVGL在Linux环境下输入设备管理的单例问题,并提出了多例实现的改造思路。通过改造输入设备的管理方式,适应Linux下多个输入设备的需求,同时增加了处理额外按键事件的回调功能。
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



