diff options
| author | cooljqln <cooljqln@noreply.codeberg.org> | 2025-01-17 02:23:42 +0000 |
|---|---|---|
| committer | cooljqln <cooljqln@noreply.codeberg.org> | 2025-01-17 02:23:42 +0000 |
| commit | 0180c9311db13281808976c2cc5e53994da4432f (patch) | |
| tree | 928f9eb4e8df35bbefa0f2dee05394a6a4fdec58 /src/tangara/input/input_touch_dpad.cpp | |
| parent | 3dd0887c1f88570f041e9b18f5c1416a74fd028d (diff) | |
| parent | 6886c686d5b10ad8061e900aa0e7b326b0d5d04d (diff) | |
| download | tangara-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.cpp | 18 |
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 |
