summaryrefslogtreecommitdiff
path: root/src/tangara/input/input_touch_dpad.cpp
diff options
context:
space:
mode:
authorcooljqln <cooljqln@noreply.codeberg.org>2025-01-17 02:23:42 +0000
committercooljqln <cooljqln@noreply.codeberg.org>2025-01-17 02:23:42 +0000
commit0180c9311db13281808976c2cc5e53994da4432f (patch)
tree928f9eb4e8df35bbefa0f2dee05394a6a4fdec58 /src/tangara/input/input_touch_dpad.cpp
parent3dd0887c1f88570f041e9b18f5c1416a74fd028d (diff)
parent6886c686d5b10ad8061e900aa0e7b326b0d5d04d (diff)
downloadtangara-fw-0180c9311db13281808976c2cc5e53994da4432f.tar.gz
Merge pull request 'Add an input sequence for hard rebooting' (#185) from jqln/hard-reset into main
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/185
Diffstat (limited to 'src/tangara/input/input_touch_dpad.cpp')
-rw-r--r--src/tangara/input/input_touch_dpad.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/tangara/input/input_touch_dpad.cpp b/src/tangara/input/input_touch_dpad.cpp
index 7dc9f04f..8ed2bdd7 100644
--- a/src/tangara/input/input_touch_dpad.cpp
+++ b/src/tangara/input/input_touch_dpad.cpp
@@ -25,9 +25,14 @@ TouchDPad::TouchDPad(drivers::TouchWheel& wheel)
up_("up", actions::scrollUp(), {}, {}, actions::scrollUp()),
right_("right", actions::select(), {}, {}, {}),
down_("down", actions::scrollDown(), {}, {}, actions::scrollDown()),
- left_("left", actions::goBack(), {}, {}, {}) {}
+ left_("left", actions::goBack(), {}, {}, {}),
+ locked_(false) {}
auto TouchDPad::read(lv_indev_data_t* data) -> void {
+ if (locked_) {
+ return;
+ }
+
wheel_.Update();
auto wheel_data = wheel_.GetTouchWheelData();
@@ -60,4 +65,15 @@ auto TouchDPad::triggers()
return {centre_, up_, right_, down_, left_};
}
+auto TouchDPad::onLock() -> void {
+ wheel_.LowPowerMode(true);
+ locked_ = true;
+}
+
+auto TouchDPad::onUnlock() -> void {
+ wheel_.LowPowerMode(false);
+ wheel_.Recalibrate();
+ locked_ = false;
+}
+
} // namespace input