summaryrefslogtreecommitdiff
path: root/src/ui/lvgl_task.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/lvgl_task.cpp')
-rw-r--r--src/ui/lvgl_task.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ui/lvgl_task.cpp b/src/ui/lvgl_task.cpp
index 2c4f01ca..817ed185 100644
--- a/src/ui/lvgl_task.cpp
+++ b/src/ui/lvgl_task.cpp
@@ -49,6 +49,8 @@ namespace ui {
[[maybe_unused]] static const char* kTag = "ui_task";
+static auto group_focus_cb(lv_group_t *group) -> void;
+
UiTask::UiTask() {}
UiTask::~UiTask() {
@@ -75,6 +77,7 @@ auto UiTask::Main() -> void {
if (input_ && current_screen_->group() != current_group) {
current_group = current_screen_->group();
lv_indev_set_group(input_->registration(), current_group);
+ lv_group_set_focus_cb(current_group, &group_focus_cb);
}
if (current_screen_) {
@@ -98,4 +101,11 @@ auto UiTask::Start() -> UiTask* {
return ret;
}
+static auto group_focus_cb(lv_group_t *group) -> void {
+ // TODO(robin): we probably want to vary this, configure this, etc
+ events::System().Dispatch(system_fsm::HapticTrigger{
+ .effect = drivers::Haptics::Effect::kMediumClick1_100Pct,
+ });
+}
+
} // namespace ui