add keyboard support
This commit is contained in:
parent
99a0f24211
commit
cdefeaa6ce
@ -16,6 +16,7 @@
|
|||||||
#include "lvgl/lvgl.h"
|
#include "lvgl/lvgl.h"
|
||||||
#include "lv_drivers/display/monitor.h"
|
#include "lv_drivers/display/monitor.h"
|
||||||
#include "lv_drivers/indev/mouse.h"
|
#include "lv_drivers/indev/mouse.h"
|
||||||
|
#include "lv_drivers/indev/keyboard.h"
|
||||||
#include "lv_examples/lv_examples.h"
|
#include "lv_examples/lv_examples.h"
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
@ -93,7 +94,7 @@ static void hal_init(void) {
|
|||||||
lv_disp_buf_init(&disp_buf1, buf1_1, NULL, LV_HOR_RES_MAX * 120);
|
lv_disp_buf_init(&disp_buf1, buf1_1, NULL, LV_HOR_RES_MAX * 120);
|
||||||
|
|
||||||
/*Create a display*/
|
/*Create a display*/
|
||||||
lv_disp_drv_t disp_drv;
|
static lv_disp_drv_t disp_drv;
|
||||||
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
|
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
|
||||||
disp_drv.buffer = &disp_buf1;
|
disp_drv.buffer = &disp_buf1;
|
||||||
disp_drv.flush_cb = monitor_flush;
|
disp_drv.flush_cb = monitor_flush;
|
||||||
@ -102,13 +103,13 @@ static void hal_init(void) {
|
|||||||
/* Add the mouse as input device
|
/* Add the mouse as input device
|
||||||
* Use the 'mouse' driver which reads the PC's mouse*/
|
* Use the 'mouse' driver which reads the PC's mouse*/
|
||||||
mouse_init();
|
mouse_init();
|
||||||
lv_indev_drv_t indev_drv;
|
static lv_indev_drv_t mouse_drv;
|
||||||
lv_indev_drv_init(&indev_drv); /*Basic initialization*/
|
lv_indev_drv_init(&mouse_drv); /*Basic initialization*/
|
||||||
indev_drv.type = LV_INDEV_TYPE_POINTER;
|
mouse_drv.type = LV_INDEV_TYPE_POINTER;
|
||||||
|
|
||||||
/*This function will be called periodically (by the library) to get the mouse position and state*/
|
/*This function will be called periodically (by the library) to get the mouse position and state*/
|
||||||
indev_drv.read_cb = mouse_read;
|
mouse_drv.read_cb = mouse_read;
|
||||||
lv_indev_t *mouse_indev = lv_indev_drv_register(&indev_drv);
|
lv_indev_t *mouse_indev = lv_indev_drv_register(&mouse_drv);
|
||||||
|
|
||||||
/*Set a cursor for the mouse*/
|
/*Set a cursor for the mouse*/
|
||||||
LV_IMG_DECLARE(mouse_cursor_icon); /*Declare the image file.*/
|
LV_IMG_DECLARE(mouse_cursor_icon); /*Declare the image file.*/
|
||||||
@ -116,6 +117,15 @@ static void hal_init(void) {
|
|||||||
lv_img_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/
|
lv_img_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/
|
||||||
lv_indev_set_cursor(mouse_indev, cursor_obj); /*Connect the image object to the driver*/
|
lv_indev_set_cursor(mouse_indev, cursor_obj); /*Connect the image object to the driver*/
|
||||||
|
|
||||||
|
/* Add the keyboard as input device
|
||||||
|
* Use the 'keyboard' driver which reads the PC's keyboard*/
|
||||||
|
static lv_indev_drv_t keyb_drv;
|
||||||
|
lv_indev_drv_init(&keyb_drv); /*Basic initialization*/
|
||||||
|
keyb_drv.type = LV_INDEV_TYPE_KEYPAD;
|
||||||
|
keyb_drv.read_cb = keyboard_read;
|
||||||
|
/*Register the driver in LVGL and save the created input device object*/
|
||||||
|
lv_indev_drv_register(&keyb_drv);
|
||||||
|
|
||||||
/* Tick init.
|
/* Tick init.
|
||||||
* You have to call 'lv_tick_inc()' in periodically to inform LittelvGL about
|
* You have to call 'lv_tick_inc()' in periodically to inform LittelvGL about
|
||||||
* how much time were elapsed Create an SDL thread to do this*/
|
* how much time were elapsed Create an SDL thread to do this*/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user