# lvgl_porting **Repository Path**: doku-wiki/lvgl_porting ## Basic Information - **Project Name**: lvgl_porting - **Description**: lvgl porting - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-06 - **Last Updated**: 2025-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LVGL 仿真 # ## 仓库初始化操作 ## 1. 本仓库中存在子模块,所以在克隆本仓库后需要初始化和更新本仓库的子模块: ``` bash git submodule init git submodule update --recursive ``` 2. 在子模块 modules/FileSystem 中还存在子模块,所以要在该子模块中执行初始化和更新其子模块的命令: ``` bash cd modules/FileSystem git submodule init git submodule update --recursive ``` 3. 在子模块 modules/FileSystem/modules/flashEmu 中还存在子模块,所以要在该子模块中执行初始化和更新其子模块的命令: ``` bash cd modules/FileSystem/modules/flashEmu git submodule init git submodule update --recursive ``` > 如果感觉上面的步骤比较繁琐,可以执行脚本 `./submodule.sh init` 来完成对本仓库所有子模块的初始化 ## 显示设备 ## 使用SDL2创建的窗口来充当LVGL的显示屏。 将LVGL的显示设备输出的像素输出到SDL2的屏幕上。 - 创建的SDL2的窗口大小为 480 * 600 - LVGL的显示设备使用2个可以完全保存窗口所有像素的渲染缓冲区 ## 输入设备 ## - 使用鼠标的移动和左键点击来模拟触摸屏输入设备的点击 - 使用鼠标的移动和左键点击来作为鼠标输入设备 - 使用键盘的几个特定的键来完成键盘输入设备 - 使用鼠标的垂直滚轮来模拟编码器输入设备 ### 触摸屏 ### 通过鼠标的光标的移动,并对左键的点击来模拟触摸屏输入设备的点击。 驱动文件为 porting/lv_port_indev_touch_screen.c ### 鼠标 ### 鼠标设备 和 触摸屏设备,两者只能二选一,因为触摸屏设备是用鼠标模拟的,默认选择的是 触摸屏 ; 如果要选择 鼠标 ,那么在编译的时候需要加选项 EN_MOUSE=1 , 即 make EN_MOUSE=1 驱动文件为 porting/lv_port_indev_mouse.c ### 键盘 ### LVGL的键盘输入设备,仅仅支持如下几个预定义按键: - LV_KEY_NEXT:焦点移至下一个对象 - LV_KEY_PREV:焦点移至上一个对象 - LV_KEY_ENTER:触发 LV_EVENT_PRESSED 、LV_EVENT_CLICKED 或 LV_EVENT_LONG_PRESSED 等事件 - LV_KEY_UP:增加值 或 向上移动 - LV_KEY_DOWN:减少值 或 向下移动 - LV_KEY_RIGHT:增加值 或 向右移动 - LV_KEY_LEFT:减少值 或 向左移动 - LV_KEY_ESC:关闭 或 退出(例如,关闭 下拉列表) - LV_KEY_DEL:删除(例如,在 文本区 中删除输入光标右侧的字符) - LV_KEY_BACKSPACE:删除左侧的字符(例如,在 文本区 中删除输入光标左侧的字符) - LV_KEY_HOME:跳至开头/顶部(例如,在 文本区 中) - LV_KEY_END:跳至末尾(例如,在 文本区 中) 将键盘上的几个特定按键映射为LVGL的键盘输入设备的预定义按键,映射关系如下: 键盘按键 | LVGL预定义按键 :-----------------|:-------------------- 下一页键(PGON) | LV_KEY_NEXT 上一页键(PGUP) | LV_KEY_PREV 回车键(Enter) | LV_KEY_ENTER 上方向键(Up) | LV_KEY_UP 下方向键(Down) | LV_KEY_DOWN 左方向键(Left) | LV_KEY_LEFT 右方向键(Right) | LV_KEY_RIGHT Esc键 | LV_KEY_ESC Delete键 | LV_KEY_DEL 退格键(BackSpace) | LV_KEY_BACKSPACE Home键 | LV_KEY_HOME End键 | LV_KEY_END 驱动文件为 porting/lv_port_indev_keyboard.c ### 编码器 ### 将鼠标的垂直滚轮模拟编码器输入设备。 滚轮前滚/后滚来充当编码器的左旋/右旋。 滚轮键按钮来充当编码器的按钮。 驱动文件为 porting/lv_port_indev_encoder.c ## 文件系统 ## 当前支持的文件系统: - 操作宿主机上的文件系统。使用宏 LV_FS_NATIVE_LETTER_STR 来指示 letter 字符串 - 驱动文件为 porting/lv_port_fs_native.c - 操作使用文件仿真的 fatfs 文件系统。使用宏 LV_FS_FATFS_LETTER_STR 来指示 letter 字符串 - 驱动文件为 porting/lv_port_fs_fatfs.c