lv_evdev.h
Typedefs
-
typedef void (*lv_evdev_discovery_cb_t)(lv_indev_t *indev, lv_evdev_type_t type, void *user_data)
- Param indev:
the indev created for the newly discovered evdev
- Param type:
the type of the evdev
- Param user_data:
a custom parameter
Enums
Functions
-
lv_indev_t *lv_evdev_create(lv_indev_type_t indev_type, const char *dev_path)
Create evdev input device.
- Parameters:
type – LV_INDEV_TYPE_POINTER or LV_INDEV_TYPE_KEYPAD
dev_path – device path, e.g., /dev/input/event0
- Returns:
pointer to input device or NULL if opening failed
-
lv_result_t lv_evdev_discovery_start(lv_evdev_discovery_cb_t cb, void *user_data)
Begin automatically creating evdev indevs for all new and existing evdev devices found in /dev/input/
- Parameters:
cb – function to call when a new evdev indev is discovered, or
NULL
user_data – parameter to pass to the callback
- Returns:
the success or failure status. It will fail if it's already running or resources could not be initialized.
-
lv_result_t lv_evdev_discovery_stop(void)
Stop automatically creating evdev indevs. Safe to call from the discovery callback.
- Returns:
the success or failure status. It will fail if it's already running.
-
void lv_evdev_set_swap_axes(lv_indev_t *indev, bool swap_axes)
Set whether coordinates of pointer device should be swapped. Defaults to false.
- Parameters:
indev – evdev input device
swap_axes – whether to swap x and y axes
-
void lv_evdev_set_calibration(lv_indev_t *indev, int min_x, int min_y, int max_x, int max_y)
Configure a coordinate transformation for pointer devices. Applied after axis swap, if any. Defaults to apply no transformation.
- Parameters:
indev – evdev input device
min_x – pointer coordinate mapped to min x of display
min_y – pointer coordinate mapped to min y of display
max_x – pointer coordinate mapped to max x of display
max_y – pointer coordinate mapped to max y of display
-
void lv_evdev_delete(lv_indev_t *indev)
Remove evdev input device.
- Parameters:
indev – evdev input device to close and free