50c0a14a93
- Added kernel base drivers for: display, pointer (touch, mouse, etc.), keyboard, adc, power supply and backlight - Implement new kernel driver modules: `st7789-module` and `gt911-module` - Implement ESP32 ADC "oneshot" kernel driver - Implement ESP32 backlight kernel driver with ledc API - Implemented `battery-sense` driver that allows for voltage measurement and creates a power supply child device - Updated github actions - Updated flash scripts - Fix for esp32 legacy driver conflict with ADC - Created separate `lilygo-tdeck` and `lilygo-tdeck-plus` devices - Created `lilygo-module` with LilyGO kernel drivers - Fix for intermittent errors in build related to code generation of `devicetree.c` - `lvgl-module` can now map kernel drivers onto LVGL devices - Created `KernelDisplayApp` as a mirror of `HalDisplayApp` (formerly `DisplayApp`) - Removed `struct` and `enum` prefix in a lot of kernel driver cpp source files - `lilygo-tdeck` and `lilygo-tdeck-plus` are now fully relying on kernel drivers and don't use any of the old HAL
57 lines
1.2 KiB
C++
57 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <lvgl.h>
|
|
|
|
namespace trackball {
|
|
|
|
/**
|
|
* @brief Trackball operating mode
|
|
*/
|
|
enum class Mode {
|
|
Encoder, // Navigation via enc_diff (scroll wheel behavior)
|
|
Pointer // Mouse cursor via point.x/y
|
|
};
|
|
|
|
/**
|
|
* @brief Initialize trackball as an LVGL input device, backed by the kernel tdeck_trackball driver.
|
|
* @return LVGL input device pointer, or nullptr if the kernel device isn't found/started
|
|
*/
|
|
lv_indev_t* init();
|
|
|
|
/**
|
|
* @brief Deinitialize trackball
|
|
*/
|
|
void deinit();
|
|
|
|
/**
|
|
* @brief Set encoder mode sensitivity
|
|
* @param sensitivity Steps per trackball tick (1-10, default: 1)
|
|
*/
|
|
void setEncoderSensitivity(uint8_t sensitivity);
|
|
|
|
/**
|
|
* @brief Set pointer mode sensitivity
|
|
* @param sensitivity Pixels per trackball tick (1-10, default: 10)
|
|
*/
|
|
void setPointerSensitivity(uint8_t sensitivity);
|
|
|
|
/**
|
|
* @brief Enable or disable trackball input processing
|
|
* @param enabled Boolean value to enable or disable
|
|
*/
|
|
void setEnabled(bool enabled);
|
|
|
|
/**
|
|
* @brief Set trackball operating mode
|
|
* @param mode Encoder or Pointer mode
|
|
*/
|
|
void setMode(Mode mode);
|
|
|
|
/**
|
|
* @brief Get current trackball operating mode
|
|
* @return Current mode
|
|
*/
|
|
Mode getMode();
|
|
|
|
}
|