diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-04-11 15:16:35 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-04-11 15:16:35 +1000 |
| commit | 33919e9e3f419e13318fa6b8217d8c8dcd86c1eb (patch) | |
| tree | 9e3a1209c8f17f9a6d57249fae7067cbb81e0227 /src/input/include/input_touch_wheel.hpp | |
| parent | ed82063af5f83530afa5cfb5bf5bd516f3d05f2a (diff) | |
| download | tangara-fw-33919e9e3f419e13318fa6b8217d8c8dcd86c1eb.tar.gz | |
Migrate all existing control schemes to the cool new world
Diffstat (limited to 'src/input/include/input_touch_wheel.hpp')
| -rw-r--r-- | src/input/include/input_touch_wheel.hpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/input/include/input_touch_wheel.hpp b/src/input/include/input_touch_wheel.hpp index a4923f21..c81cbb1a 100644 --- a/src/input/include/input_touch_wheel.hpp +++ b/src/input/include/input_touch_wheel.hpp @@ -6,29 +6,43 @@ #pragma once +#include <sys/_stdint.h> #include <cstdint> #include "hal/lv_hal_indev.h" #include "haptics.hpp" #include "input_device.hpp" +#include "input_trigger.hpp" +#include "nvs.hpp" +#include "property.hpp" #include "touchwheel.hpp" namespace input { class TouchWheel : public IInputDevice { public: - TouchWheel(drivers::TouchWheel&); + TouchWheel(drivers::NvsStorage&, drivers::TouchWheel&); auto read(lv_indev_data_t* data) -> void override; + auto sensitivity() -> lua::Property&; + private: - auto calculate_ticks(const drivers::TouchWheelData& data) -> int8_t; + auto calculateTicks(const drivers::TouchWheelData& data) -> int8_t; + auto calculateThreshold(uint8_t sensitivity) -> uint8_t; + drivers::NvsStorage& nvs_; drivers::TouchWheel& wheel_; + lua::Property sensitivity_; + + Trigger up_; + Trigger right_; + Trigger down_; + Trigger left_; + bool is_scrolling_; - uint8_t sensitivity_; uint8_t threshold_; bool is_first_read_; uint8_t last_angle_; |
