LVGL 库提交
This commit is contained in:
@@ -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*/
|
||||
Reference in New Issue
Block a user