LVGL 库提交

This commit is contained in:
2026-08-30 08:57:07 +08:00
parent 26c9098630
commit e2f199c6bf
1056 changed files with 556743 additions and 45 deletions
@@ -0,0 +1,83 @@
/**
* @file lv_libinput_private.h
*
*/
#ifndef LV_LIBINPUT_PRIVATE_H
#define LV_LIBINPUT_PRIVATE_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#include "lv_libinput.h"
#if LV_USE_LIBINPUT
#if LV_LIBINPUT_XKB
#include "lv_xkb_private.h"
#endif
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
struct _lv_libinput_event_t {
lv_indev_state_t pressed;
int key_val;
lv_point_t point;
};
struct _lv_libinput_t {
int fd;
struct pollfd fds[1];
/* The points array is implemented as a circular LIFO queue */
lv_libinput_event_t points[LV_LIBINPUT_MAX_EVENTS]; /* Event buffer */
lv_libinput_event_t slots[2]; /* Realtime state of up to 2 fingers to handle multitouch */
/* Pointer devices work a bit differently in libinput which requires us to store their last known state */
lv_point_t pointer_position;
bool pointer_button_down;
int start; /* Index of start of event queue */
int end; /* Index of end of queue*/
lv_libinput_event_t last_event; /* Report when no new events
* to keep indev state consistent
*/
bool deinit; /* Tell worker thread to quit */
pthread_mutex_t event_lock;
pthread_t worker_thread;
struct libinput * libinput_context;
struct libinput_device * libinput_device;
#if LV_LIBINPUT_XKB
lv_xkb_t xkb;
#endif /* LV_LIBINPUT_XKB */
};
/**********************
* GLOBAL PROTOTYPES
**********************/
/**********************
* MACROS
**********************/
#endif /* LV_USE_LIBINPUT */
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*LV_LIBINPUT_PRIVATE_H*/