更多源码分析请访问:LVGL 源码分析大全
1、分析原因
LVGL中对输入设备的管理是单例实现的,而在Linux的输入设备是多个的,所以需要对其进行改造成多例实现。
2、源码分析
在开源的源码中,输入设备的实现放在lv_drivers/indev/evdev.c
中。显然,其数据直接放在一个全局变量中(这个是没有必要的,应是原作者未考虑作用域的问题),这导致本份代码成为单例实现。相关代码如下:
int evdev_fd = -1;
int evdev_root_x
更多源码分析请访问:LVGL 源码分析大全
LVGL中对输入设备的管理是单例实现的,而在Linux的输入设备是多个的,所以需要对其进行改造成多例实现。
在开源的源码中,输入设备的实现放在lv_drivers/indev/evdev.c
中。显然,其数据直接放在一个全局变量中(这个是没有必要的,应是原作者未考虑作用域的问题),这导致本份代码成为单例实现。相关代码如下:
int evdev_fd = -1;
int evdev_root_x