diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-07-11 15:43:38 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-07-11 15:43:38 +1000 |
| commit | ec71647d4d26928d3d4bdfdc537cd3da2ea7f29f (patch) | |
| tree | 15be2f088522356544dd1b6c9114151774ee0de1 /src/ui/wheel_encoder.cpp | |
| parent | 031cd99ea1b16de23a62f616684189fe46c0455f (diff) | |
| parent | d1d4b4a1ab63e9db9c8fc03e1c95fe732c37a0c2 (diff) | |
| download | tangara-fw-ec71647d4d26928d3d4bdfdc537cd3da2ea7f29f.tar.gz | |
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
Diffstat (limited to 'src/ui/wheel_encoder.cpp')
| -rw-r--r-- | src/ui/wheel_encoder.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/ui/wheel_encoder.cpp b/src/ui/wheel_encoder.cpp index 243772d7..a0e12b7f 100644 --- a/src/ui/wheel_encoder.cpp +++ b/src/ui/wheel_encoder.cpp @@ -25,7 +25,7 @@ TouchWheelEncoder::TouchWheelEncoder( std::weak_ptr<drivers::RelativeWheel> wheel) : last_key_(0), wheel_(wheel) { lv_indev_drv_init(&driver_); - driver_.type = LV_INDEV_TYPE_KEYPAD; + driver_.type = LV_INDEV_TYPE_ENCODER; driver_.read_cb = encoder_read; // driver_.feedback_cb = encoder_feedback; driver_.user_data = this; @@ -41,19 +41,9 @@ auto TouchWheelEncoder::Read(lv_indev_data_t* data) -> void { lock->Update(); - auto ticks = lock->ticks(); - if (ticks > 0) { - data->key = LV_KEY_PREV; - data->state = LV_INDEV_STATE_PRESSED; - } else if (ticks < 0) { - data->key = LV_KEY_NEXT; - data->state = LV_INDEV_STATE_PRESSED; - } else if (lock->is_clicking()) { - data->key = LV_KEY_ENTER; - data->state = LV_INDEV_STATE_PRESSED; - } else { - data->state = LV_INDEV_STATE_RELEASED; - } + data->enc_diff = lock->ticks(); + data->state = + lock->is_clicking() ? LV_INDEV_STATE_PRESSED : LV_INDEV_STATE_RELEASED; } } // namespace ui |
